在文本文档的末尾写入行

时间:2015-06-08 17:58:32

标签: java

我正在尝试在我的文本文档的末尾写行,但在hello2.txt的末尾没有打印任何内容,只有正在打印hello.txt的代码。此行last line in the text document.未在hello2.txt的末尾打印。我该如何解决这个问题?

我感谢任何帮助。

hello.txt的

I am at home
how are you brother?
I am facing problem

hello2.txt 应该是这样的

I am at home
how are you brother?
I am facing problem
last line in the text document.

代码:

public static void main(String[] args) {
    File file = new File("D:\\hl_sv\\hello.txt");
    try (PrintWriter writer = new PrintWriter("D:\\hl_sv\\hello2.txt");

    Scanner scanner = new Scanner(file)) {
        while (scanner.hasNextLine()) {
            String line = scanner.nextLine();

            if (line.isEmpty()) {
                System.out.println("last line in the text document");
                writer.println("last line in the text document.");
            } else {
                writer.println(line);
            }

        }

    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

2 个答案:

答案 0 :(得分:2)

此外,因为您希望将此行追加到文本文件的末尾,请使用:

../

实际上,只需使用writer.append(String)方法就可以在文件末尾添加所需的String。

答案 1 :(得分:2)

在最后一行之后,while (scanner.hasNextLine())将被评估为false,那些没有再次进入循环,而不是写最后一行。您需要在循环终止后添加该行。