Java 文件 I/O 的良好实践

Hap*_*tal 4 java file-io filewriter bufferedwriter printwriter

我正在尝试从文件中读取整数,对它们应用一些操作并将这些结果整数写入另一个文件。

// Input
FileReader fr = new FileReader("test.txt");
BufferedReader br = new BufferedReader(fr);
Scanner s = new Scanner(br);

// Output
FileWriter fw = new FileWriter("out.txt");
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bw);

int i;

while(s.hasNextInt())
{
    i = s.nextInt();
    pw.println(i+5);
}
Run Code Online (Sandbox Code Playgroud)

我想问一下,像这样包装这些输入和输出流是一个好习惯吗?
我是 Java 和互联网的新手,我在文件中看到了很多其他的 I/O 方式。我想坚持一种方法,所以是最好的方法吗?

Kum*_*tra 5

-想想你去食品商场购物,现在你通常做的事情是,从自己那里拿起每件物品,然后去计费柜台,然后再去自己,然后回到计费柜台......??或将所有物品放入购物车,然后前往计费柜台。

-它在 Java 中类似,Files处理字节和Buffer处理字符,所以有一个字节到字符的转换,相信我它运行良好,不会有任何明显的开销。

所以要读取文件:

File f = new File("Path");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
Run Code Online (Sandbox Code Playgroud)

所以要写文件:

File f = new File("Path");
FileWriter fw = new FileWriter(f);
BufferedWriter bw = new BufferedWriter(fw);
Run Code Online (Sandbox Code Playgroud)

当你使用时Scanner,不需要使用BufferedReader