如何在Java上打破字符串?

时间:2012-01-12 19:06:34

标签: java

我需要将字符串写入ByteArrayOutputStream,但我需要用破坏来编写字符串。我试着这样做:

out.write("123".getBytes());
out.write("\n456".getBytes());

但'\ n'不起作用。请告诉我,我该如何解决?或者建议我替换OutputStream来存储字符串(这个操作系统必须允许使用断行)而不需要创建文件。谢谢。

3 个答案:

答案 0 :(得分:7)

ByteArrayOutputStream stream = ...;
PrintStream printer = new PrintStream(stream, true); // auto-flush
printer.println("123"); // writes newline
printer.print("hello"); // no new line
printer.print(" world");
printer.println();

请注意,这将生成特定于平台的字节。换行符可以是\n\r\n\r。 使用的实际字符序列在system property line.separator中指定。

答案 1 :(得分:3)

只需使用BufferedWriter它就可以为您管理换行符(bwinstance.newLine())。无论您在哪个操作系统上运行。

答案 2 :(得分:3)

如果您正在寻找系统无关的换行符分隔符,我建议您使用:

System.getProperty("line.separator");

我不是每次都调用getProperty(),而是将这个值存储在一个正确可访问的变量中。

如果您在编写字符串之前构造字符串,这也是理想的方法,因为这样您就不必单独编写每一行。