需求是:每行是一条数据,能够修改和删除特定的行
简单的实现方式是读取所有内容,修改特定行,重写文件
有没有办法只修改特定行,而不重新读写一边文件呢?
java读写文件的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- wanghaolovezlq 2009-10-21 08:40关注
当然可以
用java.io.RandomAccessFile随机存取文件的读取和写入
public class RandomAccessFileextends Objectimplements DataOutput, DataInput, Closeable此类的实例支持对随机存取文件的读取和写入。随机存取文件的行为类似存储在文件系统中的一个大型字节数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机存取文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组的当前末尾之后的输出操作导致该数组扩展。该文件指针可以通过 getFilePointer 方法读取,并通过 seek 方法设置。
通常,如果此类中的所有读取例程在读取所需数量的字节之前已到达文件末尾,则抛出 EOFException(是一种 IOException)。如果由于某些原因无法读取任何字节,而不是在读取所需数量的字节之前已到达文件末尾,则抛出 IOException,而不是 EOFException。需要特别指出的是,如果流已被关闭,则可能抛出 IOException。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报