Replace first line of a text file in Java

后端 未结 5 2042
隐瞒了意图╮
隐瞒了意图╮ 2020-12-11 03:18

I have a text file where I want to change only the first line of the file. The file could be millions of rows long, so I\'d rather not have to loop over everything, so I\'m

5条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-11 03:34

    A RandomAccessFile will do the trick, unless the length of the resulting line is different from the length of the original line.

    If it turns out you are forced to perform a copy (where the first line is replaced and the rest of the data shall be copied as-is), I suggest using a BufferedReader and BufferedWriter. First use BufferedReader's readLine() to read the first line. Modify it and write it to the BufferedWriter. Then use a char[] array to perform a brute-force copy of the remainder of the file. This will be more efficient than doing the copy line by line. Let me know if you need details..

    Another option is to perform the reading and writing inside the same file. It'll be a bit more complex though. :) Let me know if you need details on this as well..

提交回复
热议问题