RandomAccessFile 文件的插入和删除一行文字
来源:互联网 发布:怎样找回以前淘宝店铺 编辑:程序博客网 时间:2024/05/20 20:19
文件中的插入一行字符目前没找到什么好方法,只能将数据读出来,然后在该插入的地方插入string后再写回去
先看看下面的关于RandomAccessFile的seek
seek
public void seek(long pos) throws IOException
- 设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。偏移量的设置可能会超出文件末尾。偏移量的设置未超出文件末尾不会改变文件的长度。只有在偏移量的设置超出文件末尾的情况下对文件进行写入才会更改其长度。
- 参数:
pos
- 从文件开头以字节为单位测量的偏移量位置,在该位置设置文件指针。- 抛出:
IOException
- 如果pos
小于0
或者发生 I/O 错误。
说的很是让人迷糊。
下面就一个小例子说明你:
在项目目录下建一个test文件夹,在该文件夹中新建一个aa.txt的文件。在里面写上abcdefghijklmnopqrstuvwsyz
源文件内容如下(Main方法部分):
程序执行结果为:
abcdefghijklmnopqrstuvwsyz[First Add]
现在修改一下程序:
比较两次结果我们可以得出以下的结论:
seek()方法是移动文件操作的指针的,而其参数就是位移量。
我们第一次将位移量设置为整个文件的长度,则指针指向了文件的末尾,我们向文件写入[First Add],则会出现在文件的结尾。
第二次,我们将位移量设置为3,则文件指针指向了第三个字符c的后面,我们向我文件写入[Second Add],则该文字出现在c的后方,同时覆盖掉了其所占位置的原来的字符。
这样如果是中间的文字,可以用空格符(或者其他无意义的字符)来进行一个替换。一个简单在第一行插入一个标识字符串。
参考,http://yuanpan1987.iteye.com/blog/668204
0 0
- RandomAccessFile 文件的插入和删除一行文字
- 文件的插入和删除一行文字
- word2003 当在一行文字中间插入文字时,后面的文字为何会自动删除?
- C读写文件--逐行输出、删除指定的一行,指定位置插入
- RandomAccessFile读取超大文件 随机读一行
- RandomAccessFile实现文件的读入和写入
- EAS隐藏Table 上面的相关按钮:插入一行 新增一行 删除一行
- js删除一行下面的文字往上移动
- Flex DataGrid插入 删除一行
- C读写文件--删除指定的一行
- C读写文件--删除指定的一行
- shell-删除文件的最后一行
- shell 怎么删除文件的最后一行
- linux下删除文件的第一行
- js动态添加table表的一行和删除一行
- 删除文件中一行
- 动态添加和删除table的一行
- 动态添加和删除table的一行
- 使用SQL语法来查询Elasticsearch:Elasticsearch-SQL
- Linux查看端口占用
- Java框架--国际化
- androidstudio快捷键
- 如何修改发布系统的项目名
- RandomAccessFile 文件的插入和删除一行文字
- ((*strDest++=*strSrc++)!='\0'); 的理解
- 手把手教你写平衡二叉树
- Android app的activity如何被另一个app打开
- ffmpeg的源码编译方法
- android studio 使用第三方so方法及注意
- java 正则 持续更新中
- 对于HTTPServlet接口的理解
- 第十三节,Iterator和for...of循环