随机访问类(RandomAccessFile)

2024-02-08 22:32

本文主要是介绍随机访问类(RandomAccessFile),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随机访问类(RandomAccessFile) 随机访问类(RandomAccessFile) - [] 输入流FileInputStream和输出流 FileOutputStream,实现的是对磁盘文件的顺序读写,而且读写要分别创建不同对象。相比之下RandomAccessFile类则可对文件实现随机读写操作。 RandomAccessFile对象的文件位置指针遵循下面的规律: ·新建RandomAccessFile对象的文件位置指针位于文件的开头处; ·每次读写操作之后,文件位置的指针都相应后移到读写的字节数; ·可以通过getFilePointer方法来获得文件位置指针的位置,通过seek方法来设置文件指针的位置。 如果某个文件有30个字节,读取数据过程中,从20-30读取,用skip( )//跳过方法,但在读取的过程中,前面的字节都被删除掉了,如果用户有这样的需求,先读取10-20字节,之后再读1-10之间的数,再20-30之间, java.io 随机访问文件类 RandomAccessFile java.io.RandomAccessFile 所有已实现的接口: Closeable, DataInput, DataOutput |0 ||10 ||20 ||30 | (指示器) RandomAccessFile常用方法: skipBytes(long i):从前往后拨弄指示器的位置,就是跳过多少个字节读取数据。 Void seek(long p): 对指示器作决定性的定位,用于从后往前拨弄指示器的位置。对于seek方法,拥有skipBytes( )的功能,但seek( )在使用过程非常影响系统的开销。只有万不得已的情况下使用。 例:seek(0) 指示器移到首部 RandomAccessFile类,即可以充当输入也可充当输出流。可以看作节点流。 构造方法: RandomAccessFile (”路径+文件名”, String“rw”/”r”)两个参数, //创建模式:“rw”代表写流,“r”代表读流, RandomAccessFile常用方法 Void close( ) Long length( ) Void seek( ) ##Long getFilePointer( )获得当前指针位置,默认为0 , Int read( )从文件当前位置读取一个字节 int read (byte[]b) int read (byte[]b,int off,int len) Final boolean readBoolean( )从文件当前位置读取boolean类型的一个字节 boolean在内存占1/8 Final char readChar( )从文件中读取2个字节。 Final int readInt( )从文件中读取4个字节。 ##Final String readLine( )从文件中读取一行后转为String。 Void write(byte[]b)将字节数组B中的数据写到文件中。 Void write(byte[]b,int off,int len)将 len 个字节从指定字节数组写入到此文件,并从偏移量 off 处开始。 Void write(int b)将指定的数据写到文件中。 Final void writeBoolean(boolean v)将boolean类型的值按单字节的形式写到文件中0或1 Final void writeChar(int v)将char值按2个字节写入到文件中 Final void writeChars(String s)将字符串按字符方式写入到文件中 Final void writeInt(int v)按四个字节将 int 写入该文件,先写高字节 Java代码 例:getFilePointer( ) import java.io.*; class df { public static void main(String args[])throws Exception { RandomAccessFile s=new RandomAccessFile("d:/tt.txt","rw"); System.out.println ( s.getFilePointer( ));//0 } } 例:getFilePointer( ) import java.io.*; class df { public static void main(String args[])throws Exception { RandomAccessFile s=new RandomAccessFile("d:/tt.txt","rw"); System.out.println ( s.getFilePointer( ));//0 } } 例: Java代码 import java.io.*; class RandomAccessFileDemo { public static void main(String args[])throws IOException { RandomAccessFile f=new RandomAccessFile("myfile","rw"); System.out.println ("File.lelngth:"+(f.length( ))+"B"); System.out.println ("File PointPosition:"+f.getFilePointer( )); f.seek(f.length( )); f.writeBoolean(true); f.writeBoolean(false); f.writeChar(’a’); f.writeChars("hello!"); System.out.println ("File Length;"+(f.length( ))+"B"); f.seek(0); System.out.println (f.readBoolean( )); System.out.println (f.readBoolean( )); //while(f.getFilePointer( )

这篇关于随机访问类(RandomAccessFile)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/692394

相关文章

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

NGINX 配置内网访问的实现步骤

《NGINX配置内网访问的实现步骤》本文主要介绍了NGINX配置内网访问的实现步骤,Nginx的geo模块限制域名访问权限,仅允许内网/办公室IP访问,具有一定的参考价值,感兴趣的可以了解一下... 目录需求1. geo 模块配置2. 访问控制判断3. 错误页面配置4. 一个完整的配置参考文档需求我们有一

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

python通过curl实现访问deepseek的API

《python通过curl实现访问deepseek的API》这篇文章主要为大家详细介绍了python如何通过curl实现访问deepseek的API,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... API申请和充值下面是deepeek的API网站https://platform.deepsee

Nginx 访问 /root/下 403 Forbidden问题解决

《Nginx访问/root/下403Forbidden问题解决》在使用Nginx作为Web服务器时,可能会遇到403Forbidden错误,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录解决 Nginx 访问 /root/test/1.html 403 Forbidden 问题问题复现Ng

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom