FileOutputStream中的新行

nr5*_*nr5 2 java outputstream fileoutputstream

下一行的Ascii值是10.所以我尝试了这个......

 FileOutputStream os = new  FileOutputStream(f, true);
    os.write(10);  // this should get me to next line ?
    os.write(b);   // b is a byte array...
Run Code Online (Sandbox Code Playgroud)

Jac*_*ack 6

您应该负责管理跨平台线分隔符,这可以通过多种方式检索:

  • System.getProperty("line.separator")
  • System.lineSeparator() (只有Java7)
  • String.format("%n")

然后你应该小心翼翼地使用DataOutputStream缠绕你的FileOutputStream,这是因为你可以选择更好的方法

  • writeChars(String str)
  • writeBytes(String str)
  • writeUTF(String str)

这样您就可以使用最适合您的情况.

还要注意,直接在流上写一个字节数组会创建二进制数据,这与使用换行符(与文本相反)有些相反.