我是 java 的新手,现在正在学习文件 io。但我对 io 很困惑,因为有很多对象要处理它(FileReader、FileWriter、BufferedReader、BufferedWriter、FileInputStream、FileOutputStream ... 可能还有更多)。
我想知道文件 io 最有效的过程是什么(我应该使用什么?)。我不需要任何编码。我只想处理文本文件。 任何简单的示例代码都会有很大帮助。
谢谢。
最佳答案
要理解和记住的第一个要点:
流:字节序列。
Reader/Writer:字符序列(字符串)
不要混合使用它们,如果没有必要,不要将它们转换为另一种,并且始终指定编码。
一些快速食谱:
以字节序列读取文件(二进制读取)。
new FileInputStream(File f);
同样加入缓冲:
new BufferedInputStream(new FileInputStream(File f));
读取一个文件作为字符序列(文本读取)。
new FileReader(File f); // ugly, dangerous, does not let us specify the encoding
new InputStreamReader(new FileInputStream(File f),Charset charset); // good, though verbose
添加面向行的缓冲(读取文本行)
new BufferedReader( ... someReader ... );
输出/写入实际上是相同的(输出/写入器)
关于java - Java 中的最佳文件 I/O 选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13959766/