java基础知识回顾之javaIO类--RandomAccessFile类

技术java基础知识回顾之javaIO类--RandomAccessFile类 java基础知识回顾之javaIO类--RandomAccessFile类java.io类 RandomAccessFil

Java基础知识复习的Java IO类——随机访问文件类

java.io

类RandomAccessFile

随机访问文件(文件文件,字符串模式)

随机访问文件(字符串名称,字符串模式)

public voidseek(long pos)throwsio exception设置指针的初始位置。

longgetFilePointer()throwsio exception返回指针的位置,即从开始的偏移量,以字节为单位。

mode 参数指定用以打开文件的访问模式:

价值

隐含意义

r

以只读方式打开。调用结果对象的任何写方法都会导致引发IOException。

rw '

从而开启读写。如果文件不存在,请尝试创建它。

rws '

为了打开读写,对于“rw”,还要求文件内容或元数据的每次更新都同步写入底层存储设备。

rwd '

为了打开读写,对于“rw”,还要求文件内容的每次更新都同步写入底层存储设备。

代码:

用ranacc.txt写,张三,97,王强,99。

//使用RandomAccessFile对象写一些关于人的信息,比如姓名和年龄。

公共静态void writeFile()引发IOException{

/*

*如果文件不存在,将创建该文件;如果文件存在,将不会创建它。

*

*/

RandomAccessFile RAF=new RandomAccessFile(' ranacc . txt ',' rw ');

Raf.write('张三'。getBytes());

RAF . writeint(97);

拉夫赖特('萧蔷')。getBytes());

RAF . writeint(99);

//

RAF . close();

}

存储在RandomAccessFile对象的字节数组中,如下图所示:

汉字是两个字节,数字是一个字节:

然后需求需要读取萧蔷的信息并输出萧蔷,99。

这使用RandomAccessFile对象中的查找方法。

/**

*阅读萧蔷的信息,而不是张三的。

* @抛出IOException

*/

public static void readFile()引发IOException {

RandomAccessFile RAF=new RandomAccessFile(' ranacc . txt ',' r ');

//通过查找设置指针的位置。

RAF . seek(1 * 8);//随机读取。只需指定指针的位置。

byte[] buf=新字节[4];

RAF . read(buf);

字符串名称=新字符串(buf);//

int age=RAF . readint();//从当前指针读取4个字节

system . out . println(' name=' name ');

system . out . println(' age=' age ');

system . out . println(' pos : ' RAF . GetFilePointer());//获取指针的位置

RAF . close();

}

输出:

name=小强age=99pos:16

结论:随机读取可以读取字节数组中任意位置的数据。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/154990.html

(0)

相关推荐

  • Hive源码编译的示例分析

    技术Hive源码编译的示例分析小编给大家分享一下Hive源码编译的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Hive简介:Hive

    攻略 2021年12月10日
  • SQL数据库的优化原则有哪些

    技术SQL数据库的优化原则有哪些这期内容当中小编将会给大家带来有关SQL数据库的优化原则有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。关于SQL数据库优化的原则主要可以从以下几个

    攻略 2021年11月30日
  • ubuntu中如何解决php无法编译问题

    技术ubuntu中如何解决php无法编译问题小编给大家分享一下ubuntu中如何解决php无法编译问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一

    2021年12月10日
  • oracle 11g(oracle 11g 安装)

    技术orcle 11g rac crs状态正常但节点2数据库未启动怎么办小编给大家分享一下orcle 11g rac crs状态正常但节点2数据库未启动怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,

    攻略 2021年12月18日
  • Docker怎样进行部署dotnetcore

    技术Docker怎样进行部署dotnetcore这篇文章给大家介绍Docker怎样进行部署dotnetcore,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。安装docker系统还是之前centos

    攻略 2021年11月19日
  • centos安装jdk1.8并配置环境变量(linux下载jdk并配置java环境)

    技术CentOS系统下如何安装及配置JDK这篇文章主要为大家展示了“CentOS系统下如何安装及配置JDK”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CentOS系统下如何

    攻略 2021年12月20日