Java IO _RandomAccessFile 类
2011-08-23 14:36
302 查看
1.掌握RandomAccessFile 类的作用
2.可以使用RandomAccess File 读取指定位置的数据
RandomAccessFile 类的主要功能是完成随机读取功能,可以读取指定位置的内容。
假设现在文件中存储了以下的几个内容:
因为在文件中,所有的内容都是按照字节存放的,都珠保存位置。
构造:
public RandomAccessFile(File file,
String mode) throws
FileNotFoundException
实例化此类的时候需要传递 File 类,告诉程序应该操作的是那个文件,之后有个模式,文件的打开模式,
常用的两种模式:
r:读模式
w:只字
rw:读写,如果使用此模式,如果文件不存在,则会自动创建。
以上完成了写入的操作,每条数据的长度都是12位。
写完之后,开始读取数据。写的时候可以将一个字符串写入。 读的时候需要一个个的以字节的形式读取出来。
如果要想操作文件内容的话,可以使用 RandomAccessFile完成。
总结:
1. RandomAccessFile 类的作用即可。
2. RandomAccessFile 类操作起来比较麻烦,所以在IO中会提供专门的输入、输出操作。
2.可以使用RandomAccess File 读取指定位置的数据
RandomAccessFile 类的主要功能是完成随机读取功能,可以读取指定位置的内容。
假设现在文件中存储了以下的几个内容:
因为在文件中,所有的内容都是按照字节存放的,都珠保存位置。
构造:
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() ; // 关闭 } };
以上完成了写入的操作,每条数据的长度都是12位。
写完之后,开始读取数据。写的时候可以将一个字符串写入。 读的时候需要一个个的以字节的形式读取出来。
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中会提供专门的输入、输出操作。
相关文章推荐
- Java IO的RandomAccessFile的使用
- RandomAccessFile创建文件java.io.FileNotFoundException
- Java IO深入理解读写文件(FileInputStream、FileOutputStream、FileReader、FileWriter、RandomAccessFile)
- Java IO的RandomAccessFile的使用
- Java IO: RandomAccessFile
- JAVA高级视频_IO输入与输出02、03 RandomAccessFile 学习笔记
- Java IO2:RandomAccessFile
- java io 笔记一:RandomAccessFile(随机访问) 类
- 【Java-IO】RandomAccessFile
- java io 笔记一:RandomAccessFile(随机访问) 类
- java.io.RandomAccessFile
- Java IO的RandomAccessFile的使用
- java io系列26之 RandomAccessFile
- Java IO笔记(3)RandomAccessFile
- Java-IO(二)——RandomAccessFile
- Java IO-RandomAccessFile
- java.io.RandomAccessFile
- 【JAVA IO】_RandomAccessFile笔记
- Java基础--IO-RandomAccessFile/ObjectOutputStream
- Java IO 之 RandomAccessFile 操作文件内容