这是用于Java的 我正在尝试编写使用PrintWriter写入文本文件的程序。 我已经能够将文本添加到文件的末尾,但我需要能够在两个单词之间写入文本。如何在文本文件的两行之间写入文本。 Java
例: 文本前:狗鼠标 文本之后:文本文件狗猫鼠
比较长,所以我不能只是读了整个事情,并从那里编辑字符串。
什么是最好的方式去做这件事?
这是用于Java的 我正在尝试编写使用PrintWriter写入文本文件的程序。 我已经能够将文本添加到文件的末尾,但我需要能够在两个单词之间写入文本。如何在文本文件的两行之间写入文本。 Java
例: 文本前:狗鼠标 文本之后:文本文件狗猫鼠
比较长,所以我不能只是读了整个事情,并从那里编辑字符串。
什么是最好的方式去做这件事?
您可以使用RandomAccessFile类。
RandomAccessFile file = new RandomAccessFile("c:\\data\\file.txt", "rw");
注意构造函数的第二个输入参数:“rw”。这是您要打开文件的模式。“rw”表示读/写模式。检查的JavaDoc什么模式,你可以在打开一个RandomAccessFile的更多细节。
四处移动RandomAccessFile的
要阅读或在RandomAccessFile的特定位置写上你必须将文件指针在第一位置位置读取或写入。这是使用seek()方法完成的。文件指针的当前位置可以通过调用getFilePointer()方法获得。
下面是一个简单的例子:
RandomAccessFile file = new RandomAccessFile("c:\\data\\file.txt", "rw");
file.seek(200);
long pointer = file.getFilePointer();
file.close();
从RandomAccessFile的
从RandomAccessFile的读读正在利用其多个读()方法中的一种完成。下面是一个简单的例子:
RandomAccessFile file = new RandomAccessFile("c:\\data\\file.txt", "rw");
int aByte = file.read();
file.close();
读()方法读取位于文件中的位置当前指向的字节通过在RandomAccessFile的实例中的文件指针。
以下是JavaDoc忘记提及的一件事情:read()方法将文件指针递增指向刚刚读取的字节后文件中的下一个字节!这意味着您可以继续调用read()而不必手动移动文件指针。
写入到的RandomAccessFile
写入到的RandomAccessFile可以使用一个它众多的write()方法来完成。下面是一个简单的例子:
RandomAccessFile file = new RandomAccessFile("c:\\data\\file.txt", "rw");
file.write("Hello World".getBytes());
file.close();
就像与read()方法写()方法前进被调用之后的文件指针。这样,您不必经常移动文件指针,将数据写入文件中的新位置。
接近()
的RandomAccessFile中有当您使用RandomAccessFile的情况下完成的,必须被称为close()方法。你可以在上面的例子中看到调用close()的例子。
问题是**在文件中的其他文件之间添加**文本。但是这个解决方案**从指针位置开始替换**现有的文本。 – Salvador
找到任何解决方案? –