RandomAccessFile类的使用,随机读写文件。
来源:互联网 发布:免费预算软件 编辑:程序博客网 时间:2024/05/01 20:35
RandomAccessFile类的使用,随机读写文件。
此类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机访问文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组的当前末尾之后的输出操作导致该数组扩展。该文件指针可以通过getFilePointer
方法读取,并通过 seek
方法设置。
import java.io.*;public class RandomAccessFileDemo01{public static void main(String[] args)throws Exception{ //判断是否是目录File f = new File("d:"+File.separator+"test.txt"); //在创建文件是,使用File.separator读取系统默认的目录格式,有很好的移植性。RandomAccessFile raf = null;raf = new RandomAccessFile(f,"rw"); //读写模式,如果文件不存在,则创建String name=null;int age = 0;name = "zhangsan";age=30;raf.writeBytes(name); //写入文件中raf.writeInt(age); name = "lisi ";age=30;raf.writeBytes(name); //写入文件中raf.writeInt(age); name = "wangwu ";age=30;raf.writeBytes(name); //写入文件中raf.writeInt(age); raf.close(); //关闭System.out.println("写入成功!");}}
/*writeByte一次写8个字节,writeInt一次写4个字节,所以读也是。String(byte[] bytes) 通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。学习了File后进一步学习RandomAccessFile来向文件中写入读出。*/import java.io.*;public class RandomAccessFileDemo02{public static void main(String[] args)throws Exception{ //判断是否是目录File f = new File("d:"+File.separator+"test.txt"); //在创建文件是,使用File.separator读取系统默认的目录格式,有很好的移植性。RandomAccessFile raf = null; raf = new RandomAccessFile(f,"r"); //读模式String name=null;int age = 0;byte[] b = new byte[8];raf.skipBytes(12); //跳过12个字节,也就是第一个人的信息 for(int i=0;i<b.length;i++){b[i]=raf.readByte();}name = new String(b); //将读出的字节转化成字符串String中的方法age = raf.readInt();System.out.println("第二个人的信息--->姓名:"+name+"年龄:"+age);//读取第一个人的信息raf.seek(0); //指针回到文件的开头 for(int i=0;i<b.length;i++){b[i]=raf.readByte();}name = new String(b); //将读出的字节转化成字符串String中的方法age = raf.readInt();System.out.println("第一个人的信息--->姓名:"+name+"年龄:"+age);//读取第三个人的信息raf.skipBytes(12); //跳过12个字节,跳过第二个人的信息,因为读完了第一个人raf指向在了第二个人的头 for(int i=0;i<b.length;i++){b[i]=raf.readByte();}name = new String(b); //将读出的字节转化成字符串String中的方法age = raf.readInt();System.out.println("第三个人的信息--->姓名:"+name+"年龄:"+age);}}
主要注意头注释里面的内容。
0 0
- RandomAccessFile类的使用,随机读写文件。
- Java的RandomAccessFile随机文件读写的简单使用
- 随机读写文件RandomAccessFile
- RandomAccessFile文件随机读写
- 使用Java 随机读写文件RandomAccessFile类和String类遇到的问题
- Java IO操作——简单了解RandomAccessFile随机读写文件操作类的使用
- RandomAccessFile类实现随机读写文件
- RandomAccessFile随机读写文件操作类讲解
- java文件随机读写--RandomAccessFile
- java:RandomAccessFile(随机读写文件)
- Java的随机读写文件-RandomAccessFile 与内存映射
- 随机访问文件 自身具备读写 的RandomAccessFile
- Java的随机读写文件-RandomAccessFile 与内存映射
- Java的随机读写文件-RandomAccessFile 与内存映射
- 随机文件RandomAccessFile类
- 使用RandomAccessFile进行文件的读写
- 随机读写文件内容之RandomAccessFile类相关
- 文件随机读写专用类——RandomAccessFile
- 第二套17
- SAE下的MEMCACHE使用方法
- 黑马程序员(指针)
- Objective-c 代理模式(delegate)
- Android 图片缓存处理
- RandomAccessFile类的使用,随机读写文件。
- collection,list,set,map
- 暑假实习收获
- SQL返回受影响的行数
- 二叉树的存储结构
- HDU 4961 Boring Sum(哈希标记,暴力枚举)
- java简单多人聊天
- InstallShield 调用可执行程序,并捕获程序退出码
- 解决 Android docs 本地文档 联网时打开慢的问题