java22.IO操作------RandomAccessFile随机文件读写
2016-01-05 15:10
891 查看
一、写入:
示例:线程代码:
import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; public class WriteFile extends Thread { File file; int block; int L = 30;// 每个block有100字节数据 /** * 1 2 3 4 5 6 |----------|----------|----------|----------|----------| 0xL * 1xL * * 123455代表block * * @param f * @param b */ public WriteFile(File f, int b) { this.file = f; this.block = b; } @Override public void run() { try { RandomAccessFile raf = new RandomAccessFile(file, "rw"); raf.seek((block - 1) * L); raf.writeBytes("This is bolck" + block); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
调用线程:
import java.io.File; public class MultiWriteFile { static File file = new File("test.txt"); public static void main(String[] args) { if (file.exists()) { file.delete(); } new WriteFile(file, 1).start(); new WriteFile(file, 2).start(); new WriteFile(file, 3).start(); new WriteFile(file, 4).start(); new WriteFile(file, 5).start(); } }
结果:
二、读取
示例:将上述线程调用改为:
import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; public class WriteFile extends Thread { File file; int block; int L = 30;// 每个block有100字节数据 /** * 1 2 3 4 5 6 |----------|----------|----------|----------|----------| 0xL * 1xL * * 123455代表block * * @param f * @param b */ public WriteFile(File f, int b) { this.file = f; this.block = b; } @Override public void run() { try { RandomAccessFile raf = new RandomAccessFile(file, "rw"); raf.seek((block - 1) * L); raf.writeBytes("This is bolck" + block); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
结果:
相关文章推荐
- JAVA动态代理技术详解 Proxy
- spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的
- JAVA使用POI操作excel
- java开发webservice
- java 时间戳与日期字符串相互转换
- Java之String.format
- 2.1 Java I/O简史
- Java WebService 简单实例
- Java [Leetcode 231]Power of Two
- java回调
- XStream 用法详解 java 类与 XML 互换
- java多文件上传plupload控件实现多图片上传(一)
- java加密解密和编码转换
- SpringMVC multipart文件上传
- Struts2开发入门
- Java for Web学习笔记(十二):JSP(2)Tag:directive,declaration,scriptlet,expression
- Java 数据类型总结
- Eclipse常用小知识汇总
- java.sql.SQLException: Io exception: Connection reset
- Java中对List集合排序的两种方法