`
k_lb
  • 浏览: 834072 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论
  • kitleer: 据我所知,国内有款ETL调度监控工具TaskCTL,支持ket ...
    kettle调度

JAVA RandomAccessFile 类

 
阅读更多

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(); //文件操作的最后一定要关闭
	}

}


分享到:
评论

相关推荐

    Java使用RandomAccessFile类对文件进行读写

    1. **RandomAccessFile类简介** `RandomAccessFile`类在Java.io包中,它弥补了File类只能获取文件元信息而不能直接操作文件内容的不足。这个类可以用来读取和写入保存数据记录的文件,数据以字节的形式存储。通过...

    Java RandomAccessFile 指定位置实现文件读取与写入

    Java的`RandomAccessFile`类是Java I/O流体系中的一种特殊类型,它允许程序员以随机访问模式读取和写入文件。与传统的输入/输出流不同,`RandomAccessFile`可以直接定位到文件的任意位置进行读写操作,这对于处理...

    Java RandomAccessFile的用法详解

    Java中的`RandomAccessFile`是一个强大的类,用于对文件进行随机访问读写。与传统的`InputStream`和`OutputStream`不同,`RandomAccessFile`允许你在文件的任意位置直接读写数据,而不仅仅是从文件的开头顺序读取。...

    RandomAccessFile类的用法.doc

    RandomAccessFile类是Java I/O库中的一个重要组件,它提供了对文件进行随机访问的能力,这意味着你可以直接跳到文件的任意位置进行读写操作,而不仅仅局限于从头到尾的顺序访问。这个类非常适合处理大数据量的文件,...

    java的RandomAccessFile对文件进行读写操作

    Java中的`RandomAccessFile`类是用于处理文件的高级接口,它允许我们对文件进行随机访问,即在文件的任何位置进行读写操作,而不仅仅是从文件头开始顺序读写。这种能力使得`RandomAccessFile`在处理大文件或者需要...

    Java中IO流 RandomAccessFile类实例详解

    Java中IO流 RandomAccessFile类实例详解 Java中的IO流 RandomAccessFile类实例详解是Java中IO流的重要组成部分。RandomAccessFile类提供了对文件内容的访问,既可以读文件,也可以写文件。同时,RandomAccessFile类...

    java使用randomaccessfile在文件任意位置写入数据

    RandomAccessFile类位于java.io包中,是处理文件的便捷工具。它既可以作为一个输入流来读取文件内容,也可以作为一个输出流来写入数据。RandomAccessFile构造器需要两个参数:第一个是文件的路径名;第二个是模式...

    java使用RandomAccessFile类基于指针读写文件实例代码

    Java 使用 RandomAccessFile 类基于指针读写文件实例代码 Java 中的 RandomAccessFile 类是一种基于指针操作的文件读写方式,能够实现对文件的随机访问。该类不同于其他许多基于流方式读写文件的类,它直接继承自 ...

    JAVA随机存储流(RandomAccessFile)的应用

    Java中的`RandomAccessFile`是一个非常重要的类,它允许我们以随机访问模式读写文件,这意味着我们可以自由地在文件的任何位置进行读写操作,而不仅仅是顺序地从头到尾处理文件。这个类提供了对文件内容进行高效定位...

    RandomAccessFile类

    NULL 博文链接:https://chaoyi.iteye.com/blog/2083498

    Java RandomAccessFile基本文件操作示例

    Java RandomAccessFile 是 Java 中的一个文件处理类,提供了随机访问文件的能力,支持读写文件的任意位置。下面是 Java RandomAccessFile 基本文件操作示例的知识点总结: 一、 RandomAccessFile 简介 ...

    Java的IO流讲解代码: File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型

    File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型字节流、打印流、对象序列化流、字节数组流)、字符流(缓冲字符流、文件字符流、转换流、格式化输出流、字符数组流) 这份代码源码...

    基于RandomAccessFile文件分类的小程序

    `RandomAccessFile`是Java中的一个核心类,主要用于读写随机访问文件。与传统的`FileInputStream`和`FileOutputStream`不同,`RandomAccessFile`允许程序在文件的任意位置进行读写操作,而不是按照文件的线性顺序。...

    【IT十八掌徐培成】Java基础第16天-01.RandomAccessFile.zip

    本教程聚焦于Java中的`RandomAccessFile`类,这是Java I/O流体系中的一个重要部分,用于处理可以随机读写的数据文件。在Java基础学习的第16天,我们将深入探讨这个主题。 `RandomAccessFile`类在`java.io`包下,它...

    RandomAccessFile 解决乱码

    在Java编程中,`RandomAccessFile` 类提供了一种方式来处理文件中的数据,允许程序随机访问文件的任何部分。但在处理中文或其他非ASCII字符时,可能会遇到乱码问题。这是因为不同编码方式对字符的表示方式不同,如果...

    java 随机读写Java类文件

    2. **RandomAccessFile类**:Java提供了`java.io.RandomAccessFile`类来实现文件的随机读写。它可以定位到文件的任意位置进行读写,非常适合处理大文件或需要频繁跳转的场景。使用`RandomAccessFile`时,需要传入...

    2021-2022计算机二级等级考试试题及答案No.1352.docx

    #### Java RandomAccessFile 类使用 7. **问题描述**:关于创建`RandomAccessFile`类实例对象的代码,哪些是正确的? - **选项分析**: - A. `RandomAccessFile("D:test.java", "rw")`:正确,可以读写文件。 -...

    Java RandomAccessFile用法

     RandomAccessFile不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和 DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),它和这两个类系毫不相干,甚至不使用...

    Java标准类库(java基础类)

    ### Java标准类库(java基础类) #### 概述 Java标准类库是Java编程语言的核心组成部分之一,提供了丰富的API供开发者使用。本篇文档主要介绍`java.io`包下的核心概念及其应用,包括数据流处理、序列化、以及文件...

Global site tag (gtag.js) - Google Analytics