java writing to a text file
I would like the following to be printed
test1
test2
test3
test4
But I can't seem to get the text to the next line.
Please help
import java.io.*;
public class Mai开发者_如何学JAVAnFrame {
public static void main(String[] args) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter("file.txt"));
for (int i = 0; i < 4; i++) {
out.write("test " + "\n");
}
out.close();
} catch (IOException e) {}
}
}
Try out.newLine();
So, it would be
for (int i = 0; i < 4; i++) {
out.write("test " + "\n");
out.newLine();
}
Source (Java API)
You need have two \n\n
to have a blank line.
Try
out.write("test " + "\n\n");
In your case(with one \n
), it will break the current line and move to a new line(which is the next line) but the blank line will not come.
The newline character can be depended on the platform, so it is better to get the new line character from the java system properties using
public static String newline = System.getProperty("line.separator");
If you want to generate text, it's probably easier to create a PrintWriter on top of that BufferedWriter, and use the methods in PrintWriter (like println) to do the writing.
The given answer - System.getProperty("line.separator")
is good enough, but also try out.write("test " + "\r\n");
it might work, as line break in some OS is \r\n
and not \n
Depending on what text editor you are opening the file with and what operating system you are using you might have to use "\r\n" instead of just "\n".
Give it a try.
Considering you have an empty catch block, it could be that you're getting an exception and hiding it. Remove the catch
block and add throw IOException
to your method definition so if you're getting an exception you can see it.
精彩评论