Java IO操作——简单了解RandomAccessFile随机读写文件操作类的使用
2018-08-21 13:50
901 查看
学习目标
掌握RandomAccessFile类的作用 可以使用RandomAccessFile读取指定位置的数据RandomAccessFile类的主要功能是完成随机读取功能,可以读取指定位置的内容。 之前的File类只是针对文件本身进行操作的,而如果要想对文件内容进行操作,则可以使用RandomAccessFile类,此类属于随机读取类,可以随机读取一个文件中指定位置的数据,例如,现在假设文件中保存类以下三个数据: zhangsan, 30 lisi, 31 wangwu, 32
因为在文件中,所有内容都是按照字节存放的,都有固定的保存位置。 RandomAccessFile类的常用的操作方法 1、public RandomAccessFile(File file, String mode)throws FileNotFoundException 构造方法 接收File类的对象,指定操作路径,但是在设置时需要设置模式:”r”: 只读、”w”: 只写、”rw”: 读写。 2、public RandomAccessFile(String name, String mode) throws FileNotFoundException 构造方法 不再使用File类对象表示文件,而是直接输入了一个固定的文件路径。 3、public void close() throws IOException 关闭操作 4、public int read(byte[] b) throws IOException 将内容读取到一个byte数组之中 5、public final byte readByte() throws IOException 读取一个字节 6、public final int readInt() throws IOException从文件中读取整型数据。 7、public void seek(long pos) throws IOException 设置读指针的位置。 8、public final void writeBytes(String s) throws IOException 将一个字符串写入到文件之中,按字节的方式处理。 9、public final void writeInt(int v) throws IOException 将一个int型数据写入文件,长度为4位。 10、public int skipBytes(int n) throws IOException 指针跳过多少个字节。 构造:public RandomAccessFile(File file, String mode) throws FileNotFoundException 实例化此类的时候需要传递File类,告诉程序应该操作的是哪个文件,之后有一个模式,文件的打开模式,常用的两种模式: r:读模式 w:只写 rw:读写,如果使用此模式,如果此文件不存在,则会自动创建。
- import java.io.File ;
- import java.io.RandomAccessFile ;
- public class RandomAccessFileDemo01{
- // 所有的异常直接抛出,程序中不再进行处理
- public static void main(String args[]) throws Exception{
- File f = new File(“d:” + File.separator + “test.txt”) ; // 指定要操作的文件
- RandomAccessFile rdf = null ; // 声明RandomAccessFile类的对象
- rdf = new RandomAccessFile(f,“rw”) ;// 读写模式,如果文件不存在,会自动创建
- String name = null ;
- int age = 0 ;
- name = “zhangsan” ; // 字符串长度为8
- age = 30 ; // 数字的长度为4
- rdf.writeBytes(name) ; // 将姓名写入文件之中
- rdf.writeInt(age) ; // 将年龄写入文件之中
- name = “lisi “ ; // 字符串长度为8
- age = 31 ; // 数字的长度为4
- rdf.writeBytes(name) ; // 将姓名写入文件之中
- rdf.writeInt(age) ; // 将年龄写入文件之中
- name = “wangwu “ ; // 字符串长度为8
- age = 32 ; // 数字的长度为4
- rdf.writeBytes(name) ; // 将姓名写入文件之中
- rdf.writeInt(age) ; // 将年龄写入文件之中
- rdf.close() ; // 关闭
- }
- };
- import java.io.File ;
- import java.io.RandomAccessFile ;
- public class RandomAccessFileDemo02{
- // 所有的异常直接抛出,程序中不再进行处理
- public static void main(String args[]) throws Exception{
- File f = new File(“d:” + File.separator + “test.txt”) ; // 指定要操作的文件
- RandomAccessFile rdf = null ; // 声明RandomAccessFile类的对象
- rdf = new RandomAccessFile(f,“r”) ;// 以只读的方式打开文件
- String name = null ;
- int age = 0 ;
- byte b[] = new byte[8] ; // 开辟byte数组
- // 读取第二个人的信息,意味着要空出第一个人的信息
- rdf.skipBytes(12) ; // 跳过第一个人的信息
- for(int i=0;i<b.length;i++){
- b[i] = rdf.readByte() ; // 读取一个字节
- }
- name = new String(b) ; // 将读取出来的byte数组变为字符串
- age = rdf.readInt() ; // 读取数字
- System.out.println(“第二个人的信息 –> 姓名:” + name + “;年龄:” + age) ;
- // 读取第一个人的信息
- rdf.seek(0) ; // 指针回到文件的开头
- for(int i=0;i<b.length;i++){
- b[i] = rdf.readByte() ; // 读取一个字节
- }
- name = new String(b) ; // 将读取出来的byte数组变为字符串
- age = rdf.readInt() ; // 读取数字
- System.out.println(“第一个人的信息 –> 姓名:” + name + “;年龄:” + age) ;
- rdf.skipBytes(12) ; // 空出第二个人的信息
- for(int i=0;i<b.length;i++){
- b[i] = rdf.readByte() ; // 读取一个字节
- }
- name = new String(b) ; // 将读取出来的byte数组变为字符串
- age = rdf.readInt() ; // 读取数字
- System.out.println(“第三个人的信息 –> 姓名:” + name + “;年龄:” + age) ;
- rdf.close() ; // 关闭
- }
- };
如果想操作文件内容的话,可以使用RandomAccessFile完成
总结: 1、了解RandomAccessFile类的作用即可。 2、RandomAccessFile类操作起来比较麻烦,所以在IO中会提供专门的输入输出操作。
转自:https://blog.csdn.net/u013087513/article/details/51911577
相关文章推荐
- Java IO操作——简单了解RandomAccessFile随机读写文件操作类的使用
- Java的RandomAccessFile随机文件读写的简单使用
- java22.IO操作------RandomAccessFile随机文件读写
- Java IO RandomAccessFile随机读写文件用法
- Java文件操作---RandomAccessFile随机读写文件操作
- java当中randomAccessFile文件随机读取对象的简单使用
- Java IO深入理解读写文件(FileInputStream、FileOutputStream、FileReader、FileWriter、RandomAccessFile)
- Java的随机读写文件-RandomAccessFile 与内存映射
- IO操作-随机读取文件RandomAccessFile
- JavaIO之RandomAccessFile随机访问文件
- Java IO操作——文件操作类File的使用
- Java 实现文件随机读写-RandomAccessFile
- Java IO 之 RandomAccessFile 操作文件内容
- Java使用RandomAccessFile读写文件
- Java的随机读写文件-RandomAccessFile 与内存映射
- Java之文件的随机访问和读写RandomAccessFile
- JavaIO之RandomAccessFile随机访问文件
- Java使用RandomAccessFile读写字节文件
- Java学习笔记---实现文件随机读写-RandomAccessFile
- Java使用RandomAccessFile读写文件