使用RandomAccessFile类操作txt文件

时间:2018-02-15 10:40:08

标签: java filewriter randomaccessfile

我有一个数据库txt文件,我想操纵某些行。例如:我想删除第44行中的数据集,或编辑第22行中的数据集。 我尝试过FileWriter和RandomAccessFile,它们似乎都不适合做这项工作。 FileWriter只能将文本附加到文件中,并且不使用指针来浏览数据库。 RandomAccessFile似乎对这项工作很有帮助,但我一直遇到这个问题,当我在我的txt文件中使用RAF的方法时,文件编码中断了,一旦我打开它,我只能看到奇怪的Unicode符号。 是否可以在不破坏编码的情况下使用RAF类,或者是否有另一个类来操作特定字节位置或特定行的文件。 提前谢谢!

RAF的代码:

public static void main(String[] args)
{
    try
    {
        RandomAccessFile raf = new RandomAccessFile("test123.txt", "rw");
        raf.seek(0);
        raf.writeChars("First line of text" + System.lineSeparator());
        raf.writeChars("Second line of text");
        raf.close();
    }
    catch (IOException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

输出文件是:  我不知道其他人

开始使用

0 个答案:

没有答案