认识-----RandomAccessFile类
来源:互联网 发布:网络水晶头品牌 编辑:程序博客网 时间:2024/06/01 18:13
作用:完成随机读取功能,可以读取指定位置的内容。
使用方法:
①通过构造方法public RandomAccessFile(File file,String mode) throwsFileNotFoundException实现对象的实例化,关于mode可以查看JDK API可知,主要有”r”、“rw”等。
②通过该类的方法可以进行随机读取操作,通过读指针的重定位和跳过字节数来完成。
示例:
写文件:
package demo; import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile; public class RandomAccessFileDemo01 { /** * @param args */ publicstatic void main(String[] args) { //TODO Auto-generated method stub Filef = new File("d:" + File.separator + "test.txt"); RandomAccessFilerdf = null; try{ rdf= new RandomAccessFile(f, "rw"); }catch (FileNotFoundException e) { //TODO Auto-generated catch block e.printStackTrace(); } Stringname = null; intage = 0; name= "zhangsan"; age= 30; try{ rdf.writeBytes(name); rdf.writeInt(age); }catch (IOException e) { //TODO Auto-generated catch block e.printStackTrace(); } name= "lisi "; age= 31; try{ rdf.writeBytes(name); rdf.writeInt(age); }catch (IOException e) { //TODO Auto-generated catch block e.printStackTrace(); } name= "wangwu "; age= 30; try{ rdf.writeBytes(name); rdf.writeInt(age); }catch (IOException e) { //TODO Auto-generated catch block e.printStackTrace(); }finally { try{ rdf.close(); }catch (IOException e) { //TODO Auto-generated catch block e.printStackTrace(); } } } }
读文件:
package demo; import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile; public class RandomAccessFileDemo02 { /** * @param args */ publicstatic void main(String[] args) { //TODO Auto-generated method stub Filef = new File("d:" + File.separator + "test.txt"); RandomAccessFilerdf = null; try{ rdf= new RandomAccessFile(f, "r"); }catch (FileNotFoundException e) { //TODO Auto-generated catch block e.printStackTrace(); } Stringname = null; intage = 0; byteb[] = new byte[8]; try{ rdf.skipBytes(12); for(int i = 0; i < b.length; i++) { b[i]= rdf.readByte(); } name= new String(b); age= rdf.readInt(); }catch (IOException e) { //TODO Auto-generated catch block e.printStackTrace(); } System.out.println("第二个人的信息--> 姓名:" + name + ";年龄:" + age); try{ rdf.seek(0); for(int i = 0; i < b.length; i++) { b[i]= rdf.readByte(); } name= new String(b); age= rdf.readInt(); }catch (IOException e) { //TODO Auto-generated catch block e.printStackTrace(); } System.out.println("第一个人的信息--> 姓名:" + name + ";年龄:" + age); try{ rdf.skipBytes(12); for(int i = 0; i < b.length; i++) { b[i]= rdf.readByte(); } name= new String(b); age= rdf.readInt(); }catch (IOException e) { //TODO Auto-generated catch block e.printStackTrace(); }finally { try{ rdf.close(); }catch (IOException e) { //TODO Auto-generated catch block e.printStackTrace(); } } System.out.println("第三个人的信息--> 姓名:" + name + ";年龄:" + age); } }
注意:
①如果使用rw方式声明RandomAccessFile对象时,要写入的文件不存在,系统将自动创建。
②由于随机读写流对文件内容的操作过于负责,一般情况下操作文件内容往往会使用字节流或字符流。
0 0
- 认识-----RandomAccessFile类
- RandomAccessFile类
- RandomAccessFile类
- RandomAccessFile类
- RandomAccessFile类
- RandomAccessFile类
- RandomAccessFile类
- RandomAccessFile 类
- RandomAccessFile类
- 类 RandomAccessFile
- RandomAccessFile类
- RandomAccessFile类
- RandomAccessFile类
- RandomAccessFile 类
- RandomAccessFile类
- 随机访问类(RandomAccessFile)
- RandomAccessFile类优化
- RandomAccessFile类的应用
- Android 利用ViewPager、PagerTabStrip实现多页面滑动效果
- meta标签
- POJ3667 Hotel
- hdu3065 ac自动机
- 让android支持RTSP(live555分析)
- 认识-----RandomAccessFile类
- git for c#,文件更名
- 《深入理解linux内核》学习笔记2 --- 图解外部中断处理过程
- Java代码在Window或Linux系统下使用通用分割符来分割路径
- 以毙览是钠是揪趁闷藏让春
- 判断一个表达式是否正确
- VxWorks任务控制API
- LAMP 搭建
- 机器学习的一些很好的博客