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处理文件的案例
RandomAccessFile 解决乱码
RandomAccessFile类的用法.docRandomAccessFile类的用法.docRandomAccessFile类的用法.doc
体会RandomAccessFile随机访问文件的用法
Java中正确使用RandomAccessFile向文件中写入中文
RandomAccessFile(下).mp4
java api中的java.io.RandomAccessFile类实现文件的随机写入.
因为使用其他文件流修改文件时是整体的替换,导致SVN上传上去后是整个文件都修改了,所以需要增量修改,这个demo是使用RandomAccessFile增量修改,只修改指定的行,很实用
使用RandomAccessFile流将一个文本文件读出,并导致写入到另一个文件当中。
文件操作——File 、 RandomAccessFile(上).mp4
文件操作——File 、 RandomAccessFile(上).mp4
在JAVA程序设计不少涉及到对文件的读写操作,本例针对这方面的问题,介绍RandomAccessFile类的文件读写操作,文件中包含有1个java文件和1个class文件
【IT十八掌徐培成】Java基础第16天-01.RandomAccessFile.zip
NIO_RandomAccessFile_多线程读本地CSV文件(java==> google guava包ListenableFuture) reader里有个main函数,更改文件路径后,直接运行即可
RandomAccessFile随机文本,使用多线程处理复制文件
花1K内存实现高效I-O的RandomAccessFile类 自己搜搜这个关键字. 我主要是用来优化Android上多线程断点下载的写文件效率 RandomAccessFile是操作硬盘的,比操作内存的数据慢了几百万倍, 所有有人做出优化,我特上传...
NULL 博文链接:https://baihe747.iteye.com/blog/2124747
NULL 博文链接:https://x7700.iteye.com/blog/1003918
NULL 博文链接:https://chaoyi.iteye.com/blog/2083498
递归 正则表达示 RandomAccessFile 结合