IO流19(完) --- RandomAccessFile实现数据的插入 --- 技术搬运工(尚硅谷)
2024-09-06 11:33:09
原hello.txt文件中的内容:abcdefghijklmn
想要实现的效果是,将xyz插入到abc后面,将文件内容变成:abcxyzdefghijklmn
@Test
public void test18() throws IOException {
File file = new File("hello.txt");
RandomAccessFile raf = new RandomAccessFile(file, "rw");
//将指针调到指针为3的位置,读取abc后面的内容,保存到builder中
raf.seek(3);
StringBuilder builder = new StringBuilder((int) file.length());
byte[] buffer = new byte[20];
int len;
//此时只会读取指针为3及其后面的内容
while ((len = raf.read(buffer)) != -1){
builder.append(new String(buffer, 0, len));
} //调回指针,写入“xyz”
raf.seek(3);
raf.write("xyz".getBytes());
//指针此时已经自动移动到xyz后面。再写入复制的abc后面的内容
raf.write(builder.toString().getBytes()); raf.close();
}
最新文章
- C++中的vector 用法解析
- linux shell for循环使用命令中读取到的值实例
- Atitit USRqc62204 证书管理器标准化规范
- UIAlertView' is deprecated: first deprecated in iOS 9.0 - UIAlertView is deprecated. Use UIAlert
- 加载UI
- mac x Yosemide(10.10) 下安装 jdk 1.7 (jdk 1.8)的方法
- .Net 项目代码风格要求小结
- hdu 4081 Qin Shi Huang's National Road System (次小生成树)
- PHP换行符详解 PHP_EOL,<;br />;
- Daily Scrum5
- WPF 多线程处理(1)
- CSS属性--过渡(transtion)
- [Codeforces] 347B - Fixed Points
- 自定义View的封装
- javascript第七课js函数
- 14.4.3.2 Configuring Multiple Buffer Pool Instances 配置多个buffer pool 实例:
- Flex布局语法
- vue学习(2)
- sql server分页存储过程
- String、StringBuffer、StringBulider
热门文章
- SpringBoot--Thymeleaf入门使用
- PAT甲级——A1115 Counting Nodes in a BST【30】
- Java中循环体的初步了解以及另一种随机数的获取方法
- 09_springmvc图片上传
- java_IO流(输入流)
- 2019-8-31-win2d-通过-CanvasActiveLayer-画出透明度和裁剪
- 关于将ECharts引入到项目中的几种方式
- LUOGU P1654 OSU! (概率期望)
- Docker系列(十三):Kubernetes Service的负载均衡和网络路由的秘密
- JS和JQuery概括