Reputation: 13585
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 code and passes the IF statement fine, but nothing is appended to the text file? I'm slightly stuck!
Upvotes: 2
Views: 18684
Reputation: 1
Shouldn't your if
statement have two apostrophes and &&
? requiring user and pass instead of no user or pass?
if (!(newUserName.isEmpty()) && !(newUserPass.isEmpty())){
Upvotes: 0
Reputation: 14458
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
Upvotes: 5
Reputation: 17601
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?
Upvotes: 0