开发者

Java- FileWriter/BufferedWriter - appending to end of a text file?

I've done this before once, I'm trying to replicate what I did so far and this is what I've got:

    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();
        }

It seems to find file.P, which is just a txt file, but it doesn't seem to append anything onto it? It enters the cod开发者_Go百科e and passes the IF statement fine, but nothing is appended to the text file? I'm slightly stuck!


Are you sure it is finding file.P and not just creating a new one elsewhere in the file system? Try an absolute path, just to make certain you and the program are looking at the same file.

Edit:

Based on the comment that the file is on the class path you should be using the following method of resolving it:

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

This will find file.P on the classpath in the same "package" or folder as MyClass.class


1) Can you try calling the writer.flush() ? The code looks like it calls flush on close but would be better to confirm this.

2) Can you also print the full location of the file ? Perhaps it is appending in the tmp directory or the wrong location?


Shouldn't your if statement have two apostrophes and &&? requiring user and pass instead of no user or pass?

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜