我正在使用Scanner
来读取文件文件通常具有的不同扩展名但文本文件内容相同的文件。
如果我在 text.txt 扩展名上使用Scanner
,那么我确实会退出,但是当我在不同的扩展程序上执行相同的任务但具有相同的内容时,我无法获得任何输出所有
执行不同的测试后,发现问题是这些字符:“ ”
为什么不同扩展名的同一文件有不同的行为?
文件:
“1 line”
2nd line
3 rd line
代码:
public static void main(String[] args)
{
String path = "C:\\Users\\user\\Documents\\t1.RANDOM";
File file = new File(path);
StringBuilder sb = new StringBuilder();
try {
Scanner sc = new Scanner(file);
while(sc.hasNextLine())
{
sb.append(sc.nextLine()+"\n");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println(sb);
}
答案 0 :(得分:1)
我可能认为Scanner
正在进行不同的流读取,如果它没有识别已知的扩展名。
也许尝试使用以下构造函数:
Scanner sc = new Scanner(file, "UTF-8");