我正在使用Scanner
来读取具有不同扩展名的文件,该文件通常具有文本文件通常具有但内容与文本文件相同。如果我确实在文本.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);
}
如果Scanner
没有识别已知的扩展名,我可能会认为它正在执行不同的流读取。也许尝试使用以下构造函数:
Scanner sc = new Scanner(file, "UTF-8");