当前位置:Gxlcms > 数据库问题 > RandomAccessFile类的使用(随机读取java中的文件)

RandomAccessFile类的使用(随机读取java中的文件)

时间:2021-07-01 10:21:17 帮助过:4人阅读

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(); } }

 

RandomAccessFile类的使用(随机读取java中的文件)

标签:

人气教程排行