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())){
精彩评论