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)

相关推荐

  • java ReentrantLock如何通过AQS来实现锁的

    技术java ReentrantLock如何通过AQS来实现锁的这篇文章主要讲解了“java ReentrantLock如何通过AQS来实现锁的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入

    攻略 2021年11月16日
  • vscodepython翻译插件(vscode中好用的中文翻译插件)

    技术如何开发一个vscode百度翻译插件本篇文章给大家分享的是有关如何开发一个vscode百度翻译插件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。每次给元

    攻略 2021年12月13日
  • swing入门到精通教程(怎么让程序用swing实现)

    技术怎么分析Swing体系结构今天就跟大家聊聊有关怎么分析Swing体系结构,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Swing体系结构最初Smalltalk

    攻略 2021年12月18日
  • Linux下mysql字符集问题如何处理

    技术Linux下mysql字符集问题如何处理小编给大家分享一下Linux下mysql字符集问题如何处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一

    攻略 2021年11月6日
  • 楼上漏水,楼上漏水了怎么办,证据怎么收集

    技术楼上漏水,楼上漏水了怎么办,证据怎么收集楼上漏水了,作为邻居,首先要协商,如果对方同意整改,事情也就解决了。如果对方不同意,可以到法院起诉。可以拍照、留录音录像等。最好再找证人。证据包括楼上漏水:(一)物证;(二)书

    生活 2021年10月25日
  • hive里面怎么查所有报表中的数据(hive大数据怎么查询所有表)

    技术报表连hive时数据量比较大如何分页查询小编给大家分享一下报表连hive时数据量比较大如何分页查询,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Hive 提供了类似 Oracle 的 rownum

    攻略 2021年12月16日