介绍
这篇文章将为大家详细讲解有关深入浅析Java中IO流的RandomAccessFile类,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
<强> RandomAccessFile 强>
- <李> Java提供的对文件内容的访问,既可以读文件,也可以写文件。李> <李>支持随机访问文件,可以访问文件的任意位置。李> <李> Java文件模型,在硬盘上的文件是字节字节字节存储的,是数据的集合李> <>李打开文件,有两种模式,“rw”读写,“r”只读;RandomAccessFile raf=新RandomAccessFile(文件,“rw");,文件指针,打开文件时指针在开头点=0;李> <李>写方法,raf.write()——在只写一个字节(后八位),同时指针指向下一个位置,准备再次写入李> <李>读方法,int b=raf.read()——在读一个字节李> <李>文件读写完成以后一定要关闭(Oracle官方说明)
李,>
<强>,RafDemo。java 强>
包com.test.io; 进口java.io.File; 进口java.io.IOException; 进口java.io.RandomAccessFile; 进口java.util.Arrays; 公开课RafDemo { 公共静态void main (String [] args)抛出IOException { 文件演示=新文件(“demo"); 如果(! demo.exists ()) { demo.mkdir (); } 文件文件=新文件(演示,“raf.dat"); 如果(! file.exists ()) { file.createNewFile (); } RandomAccessFile raf=新RandomAccessFile(文件,“rw"); System.out.println (raf.getFilePointer ()); raf.write(& # 39;一个# 39;);//一个char型占两个字节,但是写一次只写入一个字节(一个字符的后八位) System.out.println (raf.getFilePointer ()); raf.write (& # 39; b # 39;); int i=0 x7fffffff; 英国皇家空军。写(我在祝辞祝辞24);//写入我的高八位 英国皇家空军。写(我在祝辞祝辞16); 英国皇家空军。写(我在祝辞8); raf.write(我); System.out.println (raf.getFilePointer ());//直接写入一个int raf.writeInt(我); 字符串s=澳恪? byte [] b=s.getBytes (“utf8"); raf.write (b); System.out.println (raf.length ());//读文件,必须把指针移到头部 raf.seek (0);//一次性读取,把文件中的内容都读到字节数组中 byte [] buf=new byte [(int) raf.length ()); raf.read (buf); System.out.println (Arrays.toString (buf)); (字节c: buf) { System.out.print(整数。toHexString (c,0 xff) +“;“); }//关闭文件 raf.close (); } }
<>强执行结果:强>
0 1 6 13 (65、66、127,1,1,1,127,1,1,1,-28,-67,-96] 41 42 7 f ff ff ff 7 f ff ff ff e4 bd a0
关于深入浅析Java中IO流的RandomAccessFile类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。