RandomAccessFile类的使用(随机读取java中的文件)
2015-08-12 16:16
447 查看
package coreJava; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.util.Arrays; public class RandomAccessFileWriteandRead { public static void main(String[] args)throws IOException { // TODO Auto-generated method stub File demo = new File("demo"); if(!demo.exists()) demo.mkdir(); File file = new File(demo,"raf.dat"); if(!file.exists()) file.createNewFile(); RandomAccessFile raf = new RandomAccessFile(file,"rw"); //获取指针的位置: System.out.println(raf.getFilePointer()); raf.write('A');//只写了一个字节 System.out.println(raf.getFilePointer()); raf.write('B'); int i = 0x7fffffff; //用write方法一次只能写一个字节。如果要把i写进去的就得写四次 raf.write(i>>>24);//高8位 raf.write(i>>>16); raf.write(i>>>8); raf.write(i); System.out.println(raf.getFilePointer()); //可以直接写一个int raf.writeInt(i); String s = "中"; byte[] gbk = s.getBytes("gbk"); raf.write(gbk); System.out.println(raf.length()); //读文件必须把指针移动到头部 raf.seek(0); //一次性读取 byte[] buf = new byte[(int)raf.length()]; raf.read(buf); System.out.println(Arrays.toString(buf)); for(byte b:buf){ System.out.print(Integer.toHexString(b & 0xff)+" "); } String s1 = new String(buf); System.out.println(s1); //关闭文件 raf.close(); } }
相关文章推荐
- 三个实例演示 Java Thread Dump 日志分析
- Java String对象的经典问题
- 智渔课堂官方免费教程三十二:Java集合框架之Set集合
- I学霸官方免费教程三十二:Java集合框架之Set集合
- eclipse中android工程的Android Private Libraries误删了怎么办?
- Groovy与java的不同之处
- SpringMVC+MyBatis整合(2)MyBatis篇
- java多线程小结,及解决应用挂死的问题
- Struts2标签库
- 8.12java学习篇
- 智渔课堂官方免费教程三十一:Java集合框架之List集合
- I学霸官方免费教程三十一:Java集合框架之List集合
- Spring DAO vs Spring ORM vs Spring JDBC
- Spring DAO vs Spring ORM vs Spring JDBC
- java实现快速排序
- 常见排序算法(java实现)
- Java总结——反射专题
- Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing
- selenim java判断图片有没有加载完成
- Mac OS 下 eclipse中文乱码解决方法