CodeGeek123
CodeGeek123

Reputation: 4501

Writing to Files : Printwriter Converting Forward Slash to Backslash

Why is Printwriter doing this?

    File file = new File("/files/KA.txt");
    writer = new PrintWriter(file);
    writer.write("HELLO");

In the above code I keep getting an error that says :

   java.io.FileNotFoundException: \files\KA.txt (The network path was not found)

Except this was not my specified path? How do I then specify a file to write - usually create a new file and write to this? It also throws errors if KA.txt is not present - I ideally want to create a new file and writer to it.

Thanks

Upvotes: 0

Views: 452

Answers (2)

Breandán Dalton
Breandán Dalton

Reputation: 1639

The problem is that the parent /files directory doesn't already exist, so you must create it beforehand, using File.mkdirs.

    File file = new File("/files/KA.txt");
    File parentFile = file.getParentFile();
    parentFile.mkdirs();
    PrintWriter writer = new PrintWriter(file);
    writer.write("HELLO");
    writer.close();

Upvotes: 1

Santhosh
Santhosh

Reputation: 8197

I ideally want to create a new file and writer to it.

You can simply create a file ,

PrintWriter writer = new PrintWriter("name.txt", "UTF-8");
writer.println("text");

where UTF-8 is the file encoding. and write to the file , remember it overrides if the file exists with the same name

Upvotes: 1

Related Questions