[javaSE] IO流(RandomAccessFile)
2016-06-07 21:26
309 查看
随机访问文件,可以看作一个大型的byte[]数组,不算是IO体系中的一员,内部封装了字节输入输出流,可以设置权限,可以调整指针的位置
获取RandomAccessFile对象,构造参数:String文件名称,String的文件模式
调用RandomAccessFile对象的write()方法,参数:byte[]数组
获取RandomAccessFile对象,构造参数:String文件名称,String的文件模式
调用RandomAccessFile对象的seek()方法,调整指针位置,参数:int的索引位置
调用RandomAccessFile对象的skipBytes()方法,可以跳过指定索引,参数:int索引位置
多线程下载的原理就是使用这个类
获取RandomAccessFile对象,构造参数:String文件名称,String的文件模式
调用RandomAccessFile对象的write()方法,参数:byte[]数组
获取RandomAccessFile对象,构造参数:String文件名称,String的文件模式
调用RandomAccessFile对象的seek()方法,调整指针位置,参数:int的索引位置
调用RandomAccessFile对象的skipBytes()方法,可以跳过指定索引,参数:int索引位置
多线程下载的原理就是使用这个类
import java.io.RandomAccessFile; public class RandomAccessFileDemo { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { //写入 RandomAccessFile raf=new RandomAccessFile("test2.txt", "rw"); raf.write("陶士涵李小明".getBytes()); raf.close(); //读取 readFile(); } public static void readFile() throws Exception{ RandomAccessFile raf=new RandomAccessFile("test2.txt", "rw"); raf.seek(6);//调整指针位置 byte[] b=new byte[1024]; int len=raf.read(b); raf.close(); System.out.println(new String(b,0,len));//输出 李小明 } }
相关文章推荐
- 显式锁ReentrantLock
- Spark实时流计算Java案例
- Spring官网改版后下载
- 解读struts2的原始默认配置文件struts2-default.xml
- Java Map遍历方式方式及性能测试
- leetcode-java-5. Longest Palindromic Substring
- 03.Java 多线程 - synchronized
- Java File类总结和FileUtils类
- 不使用Cygwin,在eclipse中快速开发JNI,一键生成C头文件.h,以及一键使用NDK交叉编译
- [疯狂Java]泛型:泛型的底层原理(类型擦除、原生类型、编译前检查)
- Leetcode 349. Intersection of Two Arrays
- Java并发编程-Executor框架之Callable和Future接口
- Java中Fail-Fast机制、ConcurrentModificationException异常
- SpringMVC知识点梳理
- RxJava 与 Retrofit 结合的最佳实践
- JDK常用的包
- Spring JdbcTemplate方法详解
- Java 内存区域和GC机制
- 跟着小白学~如何使用二维数组打印杨辉三角
- java多线程基础一