Java之文件的随机访问和读写RandomAccessFile
2024-10-19 00:19:30
package FileDemo; import java.io.IOException;
import java.io.RandomAccessFile; public class RandomAccessFileDemo { /**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException { writeAccess();
readAccess();
randomWrite();
} // 随机写入数据,可以实现对已有数据的修改,因为可以使用seek()方法改变文件指针的位置
private static void randomWrite() throws IOException {
RandomAccessFile raf = new RandomAccessFile("random.txt", "rw");
raf.seek(8 * 4);//将文件指针移动到指定位置
System.out.println(raf.getFilePointer());
raf.write("Ruby".getBytes());
raf.writeInt(99);
} private static void readAccess() throws IOException {
RandomAccessFile raf = new RandomAccessFile("random.txt", "r");
System.out.println(raf.getFilePointer());
raf.seek(8);// 用于实现随机读取文件中的数据,数据最号有规律
System.out.println(raf.getFilePointer());
byte buf[] = new byte[4];
raf.read(buf);
String name = new String(buf);
int age = raf.readInt();
System.out.println("name=" + name);
System.out.println("age=" + age);
System.out.println(raf.getFilePointer()); } private static void writeAccess() throws IOException {
// rw:当这个文件不存在,会创建文件,当文件已经存在,不会创建,所以不会出现和输出流一样的覆盖
RandomAccessFile raf = new RandomAccessFile("random.txt", "rw");
raf.write("Java".getBytes());
raf.writeInt(97);
raf.write("python".getBytes());
raf.write(98);
raf.close();
} }
最新文章
- mysql配置文件编写
- C# 隐式类型转换
- javascript高级程序设计---Event对象
- 使用fsck修复文件系统错误
- Azure 云平台用 SQOOP 将 SQL server 2012 数据表导入 HIVE / HBASE
- work4
- @+id/和android:id的区别
- javascript类型转换、运算符、语句
- 浏览器播放rtsp流媒体解决方案
- 用SqlCommandBuilder 实现批量更新
- NNSZ OIers' Blog Archive
- 使用单元素的枚举类型实现Singleton
- Python类中的self到底是干啥的
- [Swift]LeetCode892. 三维形体的表面积 | Surface Area of 3D Shapes
- [luogu P3391] 文艺平衡树
- 使用Fiddle抓取IOS手机
- jq select 一些操作
- [LintCode] Permutations
- SSM Spring +SpringMVC+Mybatis 整合配置 及pom.xml
- 专访|HPE测试中心总监徐盛:测试新思维-DevOps,持续测试,更敏捷,更快速