2

每当在java中使用'writeBytes'方法时RandomAccessFile,它都会将文本写入文件的同一行。我怎样才能到达一个新的线路RandomAccessFile?(没有BufferedReader)。

4

5 回答 5

4

你可以写一个行分隔符。为了获得当前运行的操作系统的正确行分隔符,您必须查找该line.separator属性。这些方面的东西:

randomAccessFile.writeBytes(System.getProperty("line.separator"));
于 2013-01-30T19:18:24.650 回答
3

试试这个:

 RandomAccessFile file = new RandomAccessFile("e:\\demo.txt","rw");
 String originalString = "First line \nSeconf line \n";
 String updatedString = originalString.replace("\n","\r\n");
 file.writeBytes(updatedString);
于 2013-01-30T19:27:53.477 回答
0
System.getProperty("line.separator");

尝试在其他任何内容之前向文件写入新行,因为它将从您上次写入的位置开始写入。

于 2013-01-30T19:20:15.600 回答
0

换行符的 ASCII 值为 10 。您可以将此值存储在一个字节中,然后使用“writeBytes”,这将产生一个新行。

于 2013-06-01T15:06:19.297 回答
0
String data = "New Line";
RandomAccessFile raf = new RandomAccessFile(myFile);
raf.writeBytes("\r\n" + data);

这将在“文本”之前添加一个新行(windows 样式/CRLF)。

于 2019-03-15T16:13:54.013 回答