【发布时间】:2015-12-13 05:07:13
【问题描述】:
我试图找出 FileReader 和我习惯的方法之间的区别。我看到一个类似的问题,但并没有真正回答我的问题,它是here。所以这里是: 我习惯的方法是这样的:
import java.io.File;
import java.util.Scanner;
...
public static ArrayList<String> read_file(String filename)
{
File temp = new File(filename);
Scanner input_file;
ArrayList<String> result = new ArrayList<String>();
try
{
input_file = new Scanner(temp);
}
catch (Exception e)
{
System.out.printf("Error: failed to open file %s\n", filename);
return result;
}
while (input_file.hasNextLine)
{
String line = input_file.nextLine;
result.add(line);
}
input_file.close();
return result;
...
我知道 File 对象允许我们使用该字符串路径/文件名中存在的文件..
但是这里的 File+Scanner 组合的作用与 FileReader(File file) 或 FileReader(String filename) 对象的作用有什么区别(我不是在询问 FileReader 的不同版本,我明白了重载方法/构造函数)?
这将有助于解释 FileReader 的作用以及它的使用方式与 Scanner 有何不同..
提前谢谢大家。
【问题讨论】:
-
不同之处在于它们是不同的,在 Javadoc 中已充分解释。具体来说,
Scanner构建在FileReader和朋友之上。 -
谢谢,但在我问这个问题之前,我阅读了 Oracle 关于 FileReader 的文档。这对我来说不是那么清楚。这就是我问的原因……不过我很感激这个建议。我将仔细研究它的方法和构造,并尝试弄清楚它是如何工作的。虽然我有你在这里,但我该如何结束这个问题?我将答案标记为已回答我的问题,但我仍然收到有关(没有帮助的)cmets 的通知。我要删除它吗?
标签: java file filereader