我接受了采访,他们要求我编写Java代码以从DISK中读取文件。我知道我可以同时使用FileInputStream
和BufferedReaders
。
但是最合适的是什么,原因是什么?当我们从磁盘读取数据时,有什么特别的东西吗?
答案 0 :(得分:2)
文档说明了FileInputStream
的一个用例:
FileInputStream用于读取原始字节流,例如 图像数据。要读取字符流,请考虑使用 FileReader。
所以对于读者而言,情况恰恰相反。
#splash-screen video {top: 50px;}
的{{1}}读fa-fw
,而BufferedReader
的<i>
读FileInputStream
。
因此,如果您要阅读带有字符的内容,请使用阅读器。如果您要读取二进制数据,请使用Stream。
答案 1 :(得分:0)
使用Scanner是读取文件的不错选择。您可以使用File,InputStream或Path对象构造Scanner对象。此外,扫描仪还为您提供了一些内置功能,可以直接从源代码中读取大多数原始类型。
以下是使用扫描程序从文件读取长值的示例代码:
Scanner sc = new Scanner(new File("myNumbers.txt"));
while (sc.hasNextLong()) {
long aLong = sc.nextLong();
}
此处的讨论可能对您有用:Reading a plain text file in Java
我还发现此资源对我的学习很有帮助:Ways of reading text file in Java