gpt4 book ai didi

java - 如何在文本文件中的两行之间写入文本。 java

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:53 24 4
gpt4 key购买 nike

这是针对 Java 的我正在尝试编写一个使用 PrintWriter 写入文本文件的程序。我已经能够将文本添加到文件末尾,但我需要能够在两个单词之间写入文本。

例如:前文:狗老鼠之后的文字:狗猫老鼠

文本文件相对较长,所以我不能只读取整个文件并从那里编辑字符串。

解决此问题的最佳方法是什么?

最佳答案

您可以使用 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 中读取是使用其众多 read() 方法之一完成的。这是一个简单的例子:

RandomAccessFile file = new RandomAccessFile("c:\\data\\file.txt", "rw");

int aByte = file.read();

file.close();

read() 方法读取位于 RandomAccessFile 实例中文件指针当前指向的文件位置的字节。

这是 JavaDoc 忘记提及的一件事:read() 方法递增文件指针以指向文件中刚刚读取的字节之后的下一个字节!这意味着您可以继续调用 read() 而无需手动移动文件指针。

写入 RandomAccessFile

可以使用许多 write() 方法之一来写入 RandomAccessFile。这是一个简单的例子:

RandomAccessFile file = new RandomAccessFile("c:\\data\\file.txt", "rw");

file.write("Hello World".getBytes());

file.close();

就像 read() 方法一样,write() 方法在被调用后推进文件指针。这样您就不必不断移动文件指针来将数据写入文件中的新位置。

关闭()

RandomAccessFile 有一个 close() 方法,当您使用完 RandomAccessFile 实例时必须调用该方法。您可以在上面的示例中看到调用 close() 的示例。

关于java - 如何在文本文件中的两行之间写入文本。 java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29998016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com