Java Can';t将外部文件内容打印到cmd

Java Can';t将外部文件内容打印到cmd,java,cmd,Java,Cmd,我正在尝试将参数中提到的外部txt文件中的文本行打印到参数String。 但参数仅在手动在外部文件中键入文本时有效。 如果我在那里粘贴文本,则该方法不起作用。 有什么我可能遗漏的吗 方法如下: public void printLinesWhichContain(String word) throws FileNotFoundException { Scanner reader = new Scanner (new File (fileName), "UTF-8"); while

我正在尝试将参数中提到的外部
txt
文件中的文本行打印到参数
String
。 但参数仅在手动在外部文件中键入文本时有效。 如果我在那里粘贴文本,则该方法不起作用。 有什么我可能遗漏的吗

方法如下:

public void printLinesWhichContain(String word) throws FileNotFoundException {
    Scanner reader = new Scanner (new File (fileName), "UTF-8");
    while(reader.hasNextLine()){
        String line = reader.nextLine();
        if(line.contains(word)){
            System.out.println(line);
        }
    }
    reader.close();
}

以下是节目:

Printer printer = new Printer("src/textfile.txt");

printer.printLinesWhichContain("Väinämöinen");
System.out.println("-----");
printer.printLinesWhichContain("Frank Zappa");
System.out.println("-----");
printer.printLinesWhichContain("");
System.out.println("-----");
我得到的结果是:

-----
-----
-----
但是,它必须是:

Siinä vanha Väinämöinen
Sanoi vanha Väinämöinen
-----
-----
Siinä vanha Väinämöinen
katseleikse käänteleikse
Niin tuli kevätkäkönen
näki koivun kasvavaksi
Miksipä on tuo jätetty
koivahainen kaatamatta
Sanoi vanha Väinämöinen

如果Java代码适用于手动键入的相同文本,那么它听起来绝对不是问题。我想,检查一下你用来复制和粘贴的东西。谢谢你的回答:)原来问题出在编码上。当我将默认值从UTF-8改为ISO-8859-1时,一切都解决了。如果Java代码适用于手动键入的相同文本,那么它听起来绝对不是问题。我想,检查一下你用来复制和粘贴的东西。谢谢你的回答:)原来问题出在编码上。当我将默认值从UTF-8改为ISO-8859-1时,一切都解决了。