随机访问类(RandomAccessFile)
输入流FileInputStream和输出流 FileOutputStream,实现的是对磁盘文件的顺序读写,而且读写要分别创建不同对象。相比之下RandomAccessFile类则可对文件实现随机读写操作。
RandomAccessFile对象的文件位置指针遵循下面的规律:
·新建RandomAccessFile对象的文件位置指针位于文件的开头处;
·每次读写操作之后,文件位置的指针都相应后移到读写的字节数;
·可以通过getFilePointer方法来获得文件位置指针的位置,通过seek方法来设置文件指针的位置。
构造方法:
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代码
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( )<f.length( ));??
System.out.println (f.readLine( ));
f.close( );
}}
分享到:
相关推荐
Java中的`RandomAccessFile`是一个非常重要的类,它允许我们以随机访问模式读写文件,这意味着我们可以自由地在文件的任何位置进行读写操作,而不仅仅是顺序地从头到尾处理文件。这个类提供了对文件内容进行高效定位...
Java中的RandomAccessFile类是用于文件随机读写的工具类,它属于java.io包。RandomAccessFile提供了读取和写入文件的能力,并且允许程序访问文件的任意位置,这使得它能够方便地进行文件的随机访问。...
RandomAccessFile类是Java I/O库中的一个重要组件,它提供了对文件进行随机访问的能力,这意味着你可以直接跳到文件的任意位置进行读写操作,而不仅仅局限于从头到尾的顺序访问。这个类非常适合处理大数据量的文件,...
`RandomAccessFile`是Java中的一个核心类,主要用于读写随机访问文件。与传统的`FileInputStream`和`FileOutputStream`不同,`RandomAccessFile`允许程序在文件的任意位置进行读写操作,而不是按照文件的线性顺序。...
### RandomAccessFile 随机访问文件的使用体会 #### 一、RandomAccessFile简介 `RandomAccessFile`是Java中的一个类,位于`java.io`包中,它提供了对文件进行读写的能力,并且可以随机地定位到文件中的任何位置...
Java的`RandomAccessFile`类是Java I/O流体系中的一种特殊类型,它允许程序员以随机访问模式读取和写入文件。与传统的输入/输出流不同,`RandomAccessFile`可以任意位置开始读写,这使得它在处理大文件或需要定位到...
在Java编程中,`RandomAccessFile` 类提供了一种方式来处理文件中的数据,允许程序随机访问文件的任何部分。但在处理中文或其他非ASCII字符时,可能会遇到乱码问题。这是因为不同编码方式对字符的表示方式不同,如果...
此外,`RandomAccessFile`还支持随机访问,这意味着可以定位到文件中的任意位置进行读写操作。 #### 二、`RandomAccessFile`的构造方法及模式参数 `RandomAccessFile`提供了多个构造方法,其中最常用的是接受两个...
Java中的`RandomAccessFile`类是用于处理文件的高级接口,它允许我们对文件进行随机访问,即在文件的任何位置进行读写操作,而不仅仅是从文件头开始顺序读写。这种能力使得`RandomAccessFile`在处理大文件或者需要...
`RandomAccessFile`类提供了对文件进行随机访问的能力,它支持读取和写入数据。与`FileInputStream`和`FileOutputStream`等流相比,`RandomAccessFile`提供了一个更灵活的方法来处理文件,因为它允许直接定位到文件...
`RandomAccessFile`类在`java.io`包下,它提供了对文件进行随机访问的能力,这意味着我们可以跳过文件的某些部分,直接读取或写入指定位置的数据,而无需按顺序逐字节地读取或写入。这与传统的`InputStream`和`...
在编程领域,"下标方式随机访问文件数据类"是一种设计模式,它允许开发者像操作数组一样方便地处理文件中的数据。这种设计思路通常用于创建一个抽象层,封装了文件I/O操作,使得数据访问更加直观和高效。下面将详细...
通过这个任务的学习,读者能够掌握如何利用Java的`RandomAccessFile`类实现对文件的高效随机访问,包括创建、读取和修改文件内容,这对于进行复杂的数据处理和文件操作是必不可少的技能。同时,这也为后续的多线程...
1. **RandomAccessFile类简介** `RandomAccessFile`类在Java.io包中,它弥补了File类只能获取文件元信息而不能直接操作文件内容的不足。这个类可以用来读取和写入保存数据记录的文件,数据以字节的形式存储。通过...
- **Python**:Python的`io`模块中的`io.FileIO`类支持随机访问。 - **其他语言**:其他编程语言如C++、C、Go等也有各自的文件访问API来实现这一功能。 5. **安全性与性能优化**: - **安全性**:在进行多线程...
RandomAccessFile类位于java.io包中,是处理文件的便捷工具。它既可以作为一个输入流来读取文件内容,也可以作为一个输出流来写入数据。RandomAccessFile构造器需要两个参数:第一个是文件的路径名;第二个是模式...
Java中的`RandomAccessFile`是一个强大的类,用于对文件进行随机访问读写。与传统的`InputStream`和`OutputStream`不同,`RandomAccessFile`允许你在文件的任意位置直接读写数据,而不仅仅是从文件的开头顺序读取。...
同时,RandomAccessFile类支持随机访问文件,可以访问文件的任意位置。 RandomAccessFile类的实例详解中,主要介绍了RandomAccessFile类的使用方法和相关技术细节。 在Java中,IO流 RandomAccessFile类实例详解...
2. **RandomAccessFile类**:Java提供了`java.io.RandomAccessFile`类来实现文件的随机读写。它可以定位到文件的任意位置进行读写,非常适合处理大文件或需要频繁跳转的场景。使用`RandomAccessFile`时,需要传入...