我希望在Java中将文本文件的第一行置空。这个文件有好几GB,我不想进行复制。根据这篇文章中的建议,我尝试使用RandomAccessFile来实现,但它写入的内容太多了。
以下是我的代码:
RandomAccessFile raInputFile = new RandomAccessFile(inputFile, "rw");
origHeaderRow = raInputFile.readLine();
raInputFile.seek(0);
raInputFile.writeChars(Strings.repeat(" ",origHeaderRow.length()));
raInputFile.close();
如果您需要一些示例输入和输出,以下是发生的情况:
之前:
first_name,last_name,age
Doug,Funny,10
Skeeter,Valentine,9
Patti,Mayonnaise,11
Doug,AlsoFunny,10
之后:
alentine,9
Patti,Mayonnaise,11
Doug,AlsoFunny,10
在这个例子中,在大多数编辑器中,该文件正确地以24个空格开头,但已替换48个字符(包括换行符)。在粘贴到这里后,我看到奇怪的问号。双倍大小的替换让我想到某些涉及编码的东西被搞砸了,但我尝试使用writeUTF得到了相同的结果。