Java Scanner null out put



我正在使用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");

最新更新