RandomAccessFile 类的主要功能成随机的读取操作,本身也可以直接向文件中保存内容
如果要想实现随机读取,则在存储数据的时候要保证 数据长度的一致性,否则是无法实现功能的。
RandomAccessFile 的构造方法
public RandomAccessFile(File file,String mode) throws FileNotFoundException
需要接收一个File 类的实例,并设置一个操作的模式:
读模式:r
写模式:w
读写模式:rw
其中最重要的是读写模式,如果操作的文件不存在,则会帮用户自动创建
使用RandomAccessFile 进行写入的操作
使用从DataOutput接口中实现的一系列的writeXXX()方法写入数据
package org.randomaccessfile;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class RandomAccessFileDemo01 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException { //所有异常抛出
// TODO Auto-generated method stub
File file = new File("D:"+File.separator+"demo.txt"); //指定要操作的文件
RandomAccessFile raf = new RandomAccessFile(file,"rw"); //以读写的形式进行操作
//写入第一条数据
String name = "Zhangsan"; //表示姓名
int age = 20; //表示年龄
raf.writeBytes(name); //以字节的方式将字符串写入
raf.writeInt(age); //写入整形数据
//写入第二条数据
name = "lisi "; //表示姓名
age = 21; //表示年龄
raf.writeBytes(name);
raf.writeInt(age);
name = "wangwu ";
age = 22;
raf.writeBytes(name);
raf.writeInt(age);
raf.close(); //文件操作的最后一定要关闭
}
}
使用RandomAccessFile 进行读取的操作
在RandomAccessFile 操作的时候读取的方法都是从DataInput 接口实现而来,有一系列的readXXX()方法,可以读取各种类型的数据
但是在RandomAccessFile 中因为可以实现随机的读取,所以有一系列的控制方法
回到读取点:public void seek(long pos) throws IOException
跳过多少个字节:public int skipBytes(int n) throws IOException
下面就进行读取的操作:
package org.randomaccessfile;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.RandomAccessFile;
public class RandomAccessFileDemo02 {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception { //所有异常抛出
// TODO Auto-generated method stub
File file = new File("D:"+File.separator+"demo.txt"); //指定要操作的文件
RandomAccessFile raf = new RandomAccessFile(file,"r"); //以读的形式进行操作
byte bt[] = new byte[8]; //定义字节数组
int age = 0;
raf.seek(12); //跨过第一个人的信息
for (int i=0;i<8;i++){
bt[i] = raf.readByte(); //读取字节
}
age = raf.readInt();
System.out.println("姓名:"+new String(bt)+"年龄:"+age);
raf.seek(0); //回到开始位置
for (int i=0;i<8;i++){
bt[i] = raf.readByte(); //读取字节
}
age = raf.readInt(); //读取数字
System.out.println("姓名:"+new String(bt)+"年龄:"+age);
raf.skipBytes(12); //跨过第二个人的信息
for (int i=0;i<8;i++){
bt[i] = raf.readByte();
}
age = raf.readInt();
System.out.println("姓名:"+new String(bt)+"年龄:"+age);
raf.close(); //文件操作的最后一定要关闭
}
}
分享到:
相关推荐
1. **RandomAccessFile类简介** `RandomAccessFile`类在Java.io包中,它弥补了File类只能获取文件元信息而不能直接操作文件内容的不足。这个类可以用来读取和写入保存数据记录的文件,数据以字节的形式存储。通过...
Java的`RandomAccessFile`类是Java I/O流体系中的一种特殊类型,它允许程序员以随机访问模式读取和写入文件。与传统的输入/输出流不同,`RandomAccessFile`可以直接定位到文件的任意位置进行读写操作,这对于处理...
Java中的`RandomAccessFile`是一个强大的类,用于对文件进行随机访问读写。与传统的`InputStream`和`OutputStream`不同,`RandomAccessFile`允许你在文件的任意位置直接读写数据,而不仅仅是从文件的开头顺序读取。...
RandomAccessFile类是Java I/O库中的一个重要组件,它提供了对文件进行随机访问的能力,这意味着你可以直接跳到文件的任意位置进行读写操作,而不仅仅局限于从头到尾的顺序访问。这个类非常适合处理大数据量的文件,...
Java中的`RandomAccessFile`类是用于处理文件的高级接口,它允许我们对文件进行随机访问,即在文件的任何位置进行读写操作,而不仅仅是从文件头开始顺序读写。这种能力使得`RandomAccessFile`在处理大文件或者需要...
Java中IO流 RandomAccessFile类实例详解 Java中的IO流 RandomAccessFile类实例详解是Java中IO流的重要组成部分。RandomAccessFile类提供了对文件内容的访问,既可以读文件,也可以写文件。同时,RandomAccessFile类...
RandomAccessFile类位于java.io包中,是处理文件的便捷工具。它既可以作为一个输入流来读取文件内容,也可以作为一个输出流来写入数据。RandomAccessFile构造器需要两个参数:第一个是文件的路径名;第二个是模式...
Java 使用 RandomAccessFile 类基于指针读写文件实例代码 Java 中的 RandomAccessFile 类是一种基于指针操作的文件读写方式,能够实现对文件的随机访问。该类不同于其他许多基于流方式读写文件的类,它直接继承自 ...
Java中的`RandomAccessFile`是一个非常重要的类,它允许我们以随机访问模式读写文件,这意味着我们可以自由地在文件的任何位置进行读写操作,而不仅仅是顺序地从头到尾处理文件。这个类提供了对文件内容进行高效定位...
NULL 博文链接:https://chaoyi.iteye.com/blog/2083498
Java RandomAccessFile 是 Java 中的一个文件处理类,提供了随机访问文件的能力,支持读写文件的任意位置。下面是 Java RandomAccessFile 基本文件操作示例的知识点总结: 一、 RandomAccessFile 简介 ...
File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型字节流、打印流、对象序列化流、字节数组流)、字符流(缓冲字符流、文件字符流、转换流、格式化输出流、字符数组流) 这份代码源码...
`RandomAccessFile`是Java中的一个核心类,主要用于读写随机访问文件。与传统的`FileInputStream`和`FileOutputStream`不同,`RandomAccessFile`允许程序在文件的任意位置进行读写操作,而不是按照文件的线性顺序。...
本教程聚焦于Java中的`RandomAccessFile`类,这是Java I/O流体系中的一个重要部分,用于处理可以随机读写的数据文件。在Java基础学习的第16天,我们将深入探讨这个主题。 `RandomAccessFile`类在`java.io`包下,它...
在Java编程中,`RandomAccessFile` 类提供了一种方式来处理文件中的数据,允许程序随机访问文件的任何部分。但在处理中文或其他非ASCII字符时,可能会遇到乱码问题。这是因为不同编码方式对字符的表示方式不同,如果...
2. **RandomAccessFile类**:Java提供了`java.io.RandomAccessFile`类来实现文件的随机读写。它可以定位到文件的任意位置进行读写,非常适合处理大文件或需要频繁跳转的场景。使用`RandomAccessFile`时,需要传入...
#### Java RandomAccessFile 类使用 7. **问题描述**:关于创建`RandomAccessFile`类实例对象的代码,哪些是正确的? - **选项分析**: - A. `RandomAccessFile("D:test.java", "rw")`:正确,可以读写文件。 -...
RandomAccessFile不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和 DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),它和这两个类系毫不相干,甚至不使用...
### Java标准类库(java基础类) #### 概述 Java标准类库是Java编程语言的核心组成部分之一,提供了丰富的API供开发者使用。本篇文档主要介绍`java.io`包下的核心概念及其应用,包括数据流处理、序列化、以及文件...