Zug*_*alt 9 java file-io replace file line
我想在Java中删除文本文件的第一行.这个文件是几千兆字节,我不想复制.使用这篇文章的建议,我试图使用RandomAccessFile这样做,但它写的太多了.
这是我的代码:
RandomAccessFile raInputFile = new RandomAccessFile(inputFile, "rw");
origHeaderRow = raInputFile.readLine();
raInputFile.seek(0);
raInputFile.writeChars(Strings.repeat(" ",origHeaderRow.length()));
raInputFile.close();
Run Code Online (Sandbox Code Playgroud)
如果您想要一些示例输入和输出,请执行以下操作:
之前:
first_name,last_name,age
Doug,Funny,10
Skeeter,Valentine,9
Patti,Mayonnaise,11
Doug,AlsoFunny,10
Run Code Online (Sandbox Code Playgroud)
后:
alentine,9
Patti,Mayonnaise,11
Doug,AlsoFunny,10
Run Code Online (Sandbox Code Playgroud)
在此示例中,在大多数编辑器中,文件正确地以24个空格开头,但已替换了48个字符(包括换行符).粘贴到这里后,我看到了奇怪的问号.双倍大小的替换使得我涉及编码的事情变得混乱,但我尝试了writeUTF具有相同的结果.
char
在Java中是2个字节.
使用writeBytes
来代替.
raInputFile.writeBytes(Strings.repeat(" ",origHeaderRow.length()));
Run Code Online (Sandbox Code Playgroud)
从JavaDoc看起来正是您正在寻找的.
归档时间: |
|
查看次数: |
4345 次 |
最近记录: |