Java- FileWriter / BufferedWriter - 附加到文本文件的末尾?

时间:2010-03-04 13:51:01

标签: java file-io

我之前做过这个,我试图复制到目前为止所做的事情,这就是我所拥有的:

    try {
        BufferedWriter writer = new BufferedWriter(new FileWriter("file.P", true));
        System.out.println("entered");
        if (!(newUserName.isEmpty()) || (newUserPass.isEmpty())){
            writer.newLine();
            writer.write("hellotest123");
            writer.close();
        }

它似乎找到file.P,它只是一个txt文件,但它似乎没有附加任何内容?它输入代码并传递IF语句,但没有任何内容附加到文本文件中?我有点卡住了!

3 个答案:

答案 0 :(得分:5)

您确定它正在查找file.P而不仅仅是在文件系统的其他位置创建新文件吗?尝试一个绝对路径,只是为了确定你和程序正在查看同一个文件。

编辑:

根据文件在类路径上的注释,您应该使用以下解决方法:

MyClass.class.getResource("file.P");

这将在与MyClass.class相同的“包”或文件夹中的类路径上找到file.P

答案 1 :(得分:0)

1)你可以尝试调用writer.flush()吗?代码看起来像关闭时调用flush,但最好确认一下。

2)你还可以打印文件的完整位置吗?也许它会附加在tmp目录或错误的位置?

答案 2 :(得分:0)

您的if语句不应该有两个撇号和&&吗?要求用户通过而不是没有用户或通过?

if (!(newUserName.isEmpty()) && !(newUserPass.isEmpty())){