`
jacobcookie
  • 浏览: 94831 次
社区版块
存档分类
最新评论

古老的RandomAccessFile

阅读更多
package edu.fjut.file;

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;

//RandomAccessFile类的主要功能是完成随机读取功能
//可以读取指定位置的内容
public class RandomAccessFileDemo {

	public static void main(String[] args) throws IOException {
		
		//指定要操作的文件
		File file=new File("d:"+File.separator+"javase"+File.separator+"stu.txt");
		//rw为文件的打开方式(r,w,rw),如果文件不存在,会自动创建 
		RandomAccessFile rdf=new RandomAccessFile(file,"rw");
		String name=null;
		int age=0;
		
		//在文件中,所有的内容都是按照字节存放的,都有固定的保存位置.
		name="zhangsan";        //字符串的长度为8
		age=30;                 //数字的长度为4
		rdf.writeBytes(name);   //将姓名写入文件中
		rdf.writeInt(age);      //将年龄写入文件中
		 
		name="lisi    ";        //不够8个字符,用空格补全
		age=32;
		rdf.writeBytes(name);
		rdf.writeInt(age);
		
		name="wangwu  ";
		age=36;
		rdf.writeBytes(name);
		rdf.writeInt(age);
		
		rdf.close();//注意要关闭通道
	
	}

}
 
package edu.fjut.file;

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;

//读取文件中的内容
public class RandomAccessFileDemo2 {

	public static void main(String[] args)throws IOException {
       
		File file=new File("d:"+File.separator+"javase"+File.separator+"stu.txt");
		//以只读的方式打开文件
		RandomAccessFile rdf=new RandomAccessFile(file,"r");
		
		String name=null;
		int age;
		
		byte []bytes=new byte[8];
		//跳过一个人的信息
		rdf.skipBytes(12);
		//读取字符串需要一个一个字节的读取
		for(int i=0;i<bytes.length;i++){
			bytes[i]=rdf.readByte();
		}
		name=new String(bytes); //把byte数组转换成字符串对象
		age=rdf.readInt();
		System.out.println("第二个人的信息是: 姓名-->"+name.trim()+",年龄-->"+age);
		
		rdf.seek(0);//指针回到文件的开头
		for(int i=0;i<bytes.length;i++){
			bytes[i]=rdf.readByte();
		}
		name=new String(bytes);
		age=rdf.readInt();
		System.out.println("第一个人的信息是: 姓名-->"+name.trim()+",年龄-->"+age);
        	
		rdf.skipBytes(12);//空出第二个人的信息
		for(int i=0;i<bytes.length;i++){
			bytes[i]=rdf.readByte();
		}
		name=new String(bytes);
		age=rdf.readInt();
		System.out.println("第三个人的信息是: 姓名-->"+name.trim()+",年龄-->"+age);
		
		rdf.close();//注意关闭通道
	}
	/*
		第二个人的信息是: 姓名-->lisi,年龄-->32
		第一个人的信息是: 姓名-->zhangsan,年龄-->30
		第三个人的信息是: 姓名-->wangwu,年龄-->36
	*/
}
 
分享到:
评论

相关推荐

    RandomAccessFile类的用法.doc

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

    randomaccessfile例子

    RandomAccessFile处理文件的案例

    RandomAccessFile的用法

    Java的`RandomAccessFile`类是Java I/O流体系中的一种特殊类型,它允许程序员以随机访问模式读取和写入文件。与传统的输入/输出流不同,`RandomAccessFile`可以任意位置开始读写,这使得它在处理大文件或需要定位到...

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

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

    使用RandomAccessFile流将一个文本文件读出,并导致写入到另一个文件当中。

    ### 使用RandomAccessFile流将一个文本文件读出并写入到另一个文件中的知识点解析 在Java编程语言中,`RandomAccessFile`类提供了一种非常灵活的方式来读取和写入文件。它支持随机访问,意味着我们可以直接跳转到...

    体会RandomAccessFile

    ### RandomAccessFile 随机访问文件的使用体会 #### 一、RandomAccessFile简介 `RandomAccessFile`是Java中的一个类,位于`java.io`包中,它提供了对文件进行读写的能力,并且可以随机地定位到文件中的任何位置...

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

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

    RandomAccessFile向文件中写入中文

    ### RandomAccessFile 向文件中写入中文 在Java编程中,经常需要处理文件操作,尤其是在涉及中文字符的写入时。本篇文章将详细介绍如何利用`RandomAccessFile`类正确地向文件中写入中文字符,并解释不同写入方法的...

    RandomAccessFile 解决乱码

    ### RandomAccessFile 解决乱码 #### 背景与问题描述 在Java编程中,`RandomAccessFile` 类提供了一种方式来处理文件中的数据,允许程序随机访问文件的任何部分。但在处理中文或其他非ASCII字符时,可能会遇到乱码...

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

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

    NIO_RandomAccessFile_多线程_按行读本地CSV文件(java==> google guava包ListenableFuture)

    NIO_RandomAccessFile_多线程读本地CSV文件(java==&gt; google guava包ListenableFuture) reader里有个main函数,更改文件路径后,直接运行即可

    RandomAccessFile(下).mp4

    RandomAccessFile(下).mp4

    使用RandomAccessFile递归修改文件

    因为使用其他文件流修改文件时是整体的替换,导致SVN上传上去后是整个文件都修改了,所以需要增量修改,这个demo是使用RandomAccessFile增量修改,只修改指定的行,很实用

    JAVA文件操作——File 、 RandomAccessFile(上).mp4

    文件操作——File 、 RandomAccessFile(上).mp4

    文件操作——File 、 RandomAccessFile(上).mp4

    文件操作——File 、 RandomAccessFile(上).mp4

    RandomAccessFile随机文本,使用多线程处理

    RandomAccessFile随机文本,使用多线程处理复制文件

    基于RandomAccessFile文件分类的小程序

    【基于RandomAccessFile文件分类的小程序】是一款实用的工具,其主要功能是对指定文件夹内的文件进行分类。在实现这一功能的过程中,它依赖于`config.xml`配置文件,该文件用于设定分类规则,即哪些文件应该被归为同...

    花1K内存实现高效I-O的RandomAccessFile类

    花1K内存实现高效I-O的RandomAccessFile类 自己搜搜这个关键字. 我主要是用来优化Android上多线程断点下载的写文件效率 RandomAccessFile是操作硬盘的,比操作内存的数据慢了几百万倍, 所有有人做出优化,我特上传...

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

    随机访问文件(RandomAccessFile)是Java提供的一个类,它允许程序随机访问文件中的任意位置,进行读写操作。使用RandomAccessFile可以在文件的任意位置插入数据,这对于那些需要在文件中间添加内容而不干扰其他数据...

Global site tag (gtag.js) - Google Analytics