java(5)--IO之RandomAccessFile
2015-12-01 16:06
661 查看
RandomAccessFile:
特点:
1,内部类封装了字节流。(输入和输出)所以可以文件进行读写操作。
2,内部有可变长度的字节数组缓冲区。
3,有一个指针在对字节数组缓冲区进行操作。
可以通过getFilePointer()获取该指针位置,也可以通过seek设置指针的位置。
该对象通过对指针的操作,可以完成从数据任意进行读写。
4,该对象只能操作文件。
5,可以完成对文件数据的随机访问,但要注意,文件的数据最好是有规律的,有固定长度间隔的。
RandomAccessFile主要应用于多线程,一个大文件可以分开下载,分别用几个线程同时开始下载,指针指定下载位置,即便某一个线程下载失败,可以重新下载该片段,不用全部下载。
特点:
1,内部类封装了字节流。(输入和输出)所以可以文件进行读写操作。
2,内部有可变长度的字节数组缓冲区。
3,有一个指针在对字节数组缓冲区进行操作。
可以通过getFilePointer()获取该指针位置,也可以通过seek设置指针的位置。
该对象通过对指针的操作,可以完成从数据任意进行读写。
4,该对象只能操作文件。
5,可以完成对文件数据的随机访问,但要注意,文件的数据最好是有规律的,有固定长度间隔的。
class RandomAccessFileDemo { public static void main(String[] args) throws IOException { //readFile(); writeFile_2(); } public static void writeFile_2()throws IOException { RandomAccessFile raf = new RandomAccessFile("info.txt","rw"); raf.seek(8*5); raf.write("张撒".getBytes()); raf.writeInt(97); raf.close(); } //使用该对象对文件进行读取。 public static void readFile()throws IOException { RandomAccessFile raf = new RandomAccessFile("info.txt","r"); raf.seek(8*1);//可以随时改变指针位置。 //raf.skipBytes(8*3);//只能往前跳,不能回头。 byte[] buf = new byte[4]; raf.read(buf); String name = new String(buf); System.out.println("name="+name); int age = raf.readInt(); System.out.println("age="+age); System.out.println("index="+raf.getFilePointer()); raf.close(); } //使用该对象将一些写入到文件中。 public static void writeFile()throws IOException { RandomAccessFile raf = new RandomAccessFile("info.txt","rw"); raf.write("张三".getBytes()); raf.writeInt(97); raf.write("李四".getBytes()); raf.writeInt(99); raf.close(); } }
RandomAccessFile主要应用于多线程,一个大文件可以分开下载,分别用几个线程同时开始下载,指针指定下载位置,即便某一个线程下载失败,可以重新下载该片段,不用全部下载。
相关文章推荐
- 深入理解Java的接口和抽象类
- Java 操作剪切板
- eclipse优化设置,自动提示篇
- Java 执行Windows 命令行
- eclipse 给jar包关联javadoc
- Java 操作键盘鼠标
- spring源码分析之spring-jdbc模块详解
- java常用工具类!
- 滚动面板 我的java学习之路 ,滚动面板,多线程
- 一. Spring框架防XXS跨站攻击
- JAVA 遛一遛
- 【菜鸟学Java】4:Servlet 技术
- WIN7下java环境的搭建
- Java 开发@ JDBC链接SQLServer2012
- java适配器模式
- SpringMvc之DispatcherServlet详解
- xssProject在java web项目中应用
- java有车有房有能力最基本运用
- ssh 分页struts2+hibernate3+spring 分页
- 从头认识java-11.3 格式化输出(1)