IO--RandomAccessFile类

RandomAccessFile类可以实现对文件的随机读写操作。

  1. 新建RandomAccessFile对象的文件位置指针位于文件的开头处;
  2. 每次读写操作之后,文件位置指针都相应后移读写的字节数;
  3. 利用getPointer()方法可获取当前文件位置指针从文件头算起的绝对位置;
  4. 利用seek()方法可以移动文件位置指针(seek(long pos)方法将文件位置指针移动到参数pos指定的从文件头算起的绝对位置处);
  5. length()方法将返回文件的字节长度(根据文件长度和位置指针相比较,可以判断是否读到了文件尾)。
在文件中指定位置插入字符:

public static void main(String[] args) throws Exception {    RandomAccessFile raf = new RandomAccessFile(new File("test.txt"), "rw");    raf.seek(7);    StringBuffer sb = new StringBuffer();    byte[] b = new byte[20];    int len;    /*将指针后内容复制到sb中*/    while((len = raf.read(b)) != -1){        String str = new String(b,0,len);        sb.append(str);    }    raf.seek(7);//移动指针到指定位置    raf.write("xyz".getBytes());//写入要插入的字符    raf.write(sb.toString().getBytes());

raf.close();}
时间: 2024-10-17 17:00:44

IO--RandomAccessFile类的相关文章

[Java IO]01_File类和RandomAccessFile类

File类 File类是java.io包中唯一对文件本身进行操作的类.它可以进行创建.删除文件等操作. File类常用操作 (1)创建文件 可以使用 createNewFille() 创建一个新文件. 注意: Windows 中使用反斜杠表示目录的分隔符"\". Linux 中使用正斜杠表示目录的分隔符"/". 最好的做法是使用 File.separator 静态常量,可以根据所在操作系统选取对应的分隔符. (2)删除文件 可以使用 delete() 删除一个文件.

JAVA之旅(三十)——打印流PrintWriter,合并流,切割文件并且合并,对象的序列化Serializable,管道流,RandomAccessFile,IO其他类,字符编码

JAVA之旅(三十)--打印流PrintWriter,合并流,切割文件并且合并,对象的序列化Serializable,管道流,RandomAccessFile,IO其他类,字符编码 三十篇了,又是一个阳光明媚的周末,一个又一个的周末,周而复始,不断学习,前方的路你可曾看见?随我一起走进技术的世界,流连忘返吧! 一.打印流PrintWriter 打印流有PrintWriter和PrintStream,他的特点可以直接操作输入流还有文件 该流提供了打印方法,可以将各种数据类型原样打印 file对象

J2SE知识点归纳笔记(七)---Java IO Part 1:File类与RandomAccessFile类

J2SE知识点归纳笔记(七)---Java IO Part 1:File类与RandomAccessFile类                                                                 --转载请注明出处:coder-pig 本节引言: 兜兜转转,又回来写Java了,上一篇J2SE知识点归纳笔记(六)---Java常用类是上2014.4.14写的,时隔一年 又来重拾之前还没写完的系列了,前些天群里一个妹子反映她Java基础薄弱,然后抱怨在cs

【Java IO流】RandomAccessFile类的使用

RandomAccessFile类的使用 RandomAccessFile类是java提供的对文件内容的访问,既可以读文件,也可以写文件. 支持随机访问文件,可以访问文件的任意位置. RandomAccessFile类实现步骤 (1)文件模型 第一步要知道,在硬盘上的文件时是以byte byte byte存储的,是数据的集合. (2)打开文件 打开文件硬盘上的文件有两种模式:“rw”(读写),“r”(只读).可以用RandomAccessFile类来指定打开文件的模式,如: RandomAcce

Java IO流 序列三:RandomAccessFile类

3. RandomAccessFile类 3.1 RandomAccessFile类简介 1. 是Java提供的对文件内容的访问,既可以读文件,也可以写文件 2. 可以随机访问文件,可以访问文件的任意位置 3. 读写方式:rw(可读写), r(只读) 例:RandomAccessFile raf = new RandomAccessFile(file,"rw") 4. 由于是随机访问,该类提供了一个指针,默认打开文件的时候指正文件在开头 pointer = 0 5. 写方法 raf.w

Java—IO流 RandomAccessFile类

RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件. 支持随机访问文件,可以访问文件的任意位置. java文件模型,在硬盘上的文件是byte byte byte存储的,是数据的集合 打开文件,有两种模式,"rw"读写."r"只读:RandomAccessFile raf = new RandomAccessFile(file, "rw");,文件指针,打开文件时指针在开头 point = 0; 写方法,

2020.03.04 io流练习题2(Randomaccessfile类)

package com.guoyun.view; import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile; /** * ClassName: * Function: ADD FUNCTION * Reason: ADD REASON * * @author * @Date * @since Ver 1.1 */public

[Java开发之路](7)RandomAccessFile类详解

RandomAccessFile适用于大小已知的记录组成的文件,提供的对文件访问,既可以读文件,也可以写文件,并且支持随机访问文件,可以访问文件的任意位置.文件中记录的大小不一定都相同,只要我们知道记录的大小和位置.但是该类仅限于操作文件. RandomAccessFile不属于InputStream和OutputStream继承层次结构中的一部分.除了实现DataInput和DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),它和

java RandomAccessFile类文件基本操作

RandomAccessFile类是java中仿C的文件操作方法,下面通过实例演示RandomAccessFile类对文件的基本操作,深入了解请查看Java API文档.(注:RandomAccessFile类大多不被采用) 上代码 import java.io.*; public class AccessFileDemo { public static void main(String[] args) { Student stu1=new Student("Zhang San",10

JavaIO流(02)RandomAccessFile类详解

RandomAccessFile类 该类主要是对文件内容进行操作,可以随机的读取一个文件中指定位置的数据: 但是如果想实现这样的功能,则每个数据的长度应该保持一致: 构造方法: 接受File类中的对象,但是在设置时需要设置模式,r:只读:w:只写:rw:读写(常用) public RandomAccessFile(File file, String mode)throws FileNotFoundException 不再使用File类对象表示文件,而是直接输入了一个固定的文件路径 public