java如何文件接收
文件接收方法
使用FileInputStream读取文件
通过FileInputStream可以逐字节或按缓冲区读取文件内容。适用于二进制文件或需要精细控制的场景。

try (FileInputStream fis = new FileInputStream("path/to/file.txt")) {
int content;
while ((content = fis.read()) != -1) {
System.out.print((char) content); // 处理每个字节
}
} catch (IOException e) {
e.printStackTrace();
}
使用BufferedReader读取文本文件
对于文本文件,BufferedReader提供按行读取的高效方式,内部缓冲减少I/O操作。

try (BufferedReader br = new BufferedReader(new FileReader("path/to/file.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line); // 处理每行文本
}
} catch (IOException e) {
e.printStackTrace();
}
使用Files类快速读取(Java 7+)
java.nio.file.Files提供了简洁的API,适合小文件或需要一次性读取的场景。
try {
List<String> lines = Files.readAllLines(Paths.get("path/to/file.txt"));
lines.forEach(System.out::println); // 处理所有行
} catch (IOException e) {
e.printStackTrace();
}
网络文件接收(HTTP下载)
通过HttpURLConnection从网络下载文件并保存到本地。
URL url = new URL("http://example.com/file.txt");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
try (InputStream in = connection.getInputStream();
FileOutputStream out = new FileOutputStream("local_copy.txt")) {
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead); // 写入本地文件
}
} catch (IOException e) {
e.printStackTrace();
}
注意事项
- 路径处理:使用绝对路径或正确配置相对路径,避免
FileNotFoundException。 - 资源管理:始终使用try-with-resources确保流关闭,防止资源泄漏。
- 大文件处理:对于大文件,避免一次性读取,采用分块或流式处理。
- 异常处理:捕获
IOException并根据业务需求进行日志记录或恢复操作。






