Java中深入浅析IO流的RandomAccessFile类

  介绍

这篇文章将为大家详细讲解有关深入浅析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类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

Java中深入浅析IO流的RandomAccessFile类