package accessFile;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* 文件随机读写类
* @author wxg1022
*
*/
public class TestRandomAccessFile {
public static void main(String[] args) {
// 访问到达文件末尾发生的异常:EOFException
// 文件访问中途发生的异常:IOEException
// 打开关闭文件
// RandomAccessFile(String,String);第一个参数是文件路径,第二是打开模式
// RandomAccessFile(File,String);第一个参数是文件对象,第二是打开模式
// 其中打开模式有:r(只读),rw(读写),rws(读写及同步更新),rwd(读写及同步更新)等4种
try {
/**
* 一、打开
*/
RandomAccessFile file = new RandomAccessFile("D:/demo/test6.txt",
"rw");
// 或RandomAccessFile file1=new RandomAccessFile(new
// File("D:/demo/test6.txt"),"rw");
//(1)取得文件长度
long size = file.length();
System.out.println("文件大小:"+size);
//(2)设置文件指针的位置
//file.seek(4);
System.out.println(file.readUTF());
file.seek(0);
/**
* 二、读取
*/
//(3)读取一个数据字节
int c=file.read();//每读取一个字节,指针会向后移动一个字节的位置
System.out.println((char)c);//转换为字符
//(4)读取到字节数组
byte[] b=new byte[50];
file.read(b);
String s=new String(b);
System.out.println("读取的字节数组:"+s);
//(5)灵活读取到字节数组
b=new byte[50];
file.read(b,2,10);//从第4个位置读取10个字节
s=new String(b);
System.out.println("读取的字节数组:"+s);
//(6)读取其他方式
//boolean readBoolean();
//System.out.println(file.readBoolean());
//byte readByte();
//char readChar();等等其他查看api
//(7)读取一行字符串
System.out.println(file.readLine());
//(8)读取中文字符
//System.out.println(file.readUTF());
/**
* 三、写入文件
*/
//(9)写入一个字节
file.write(100);
//(10)写入字节数组
byte[] bb=new byte[3];
bb[0]=101;
bb[1]=102;
bb[2]=127;//不能超过127
file.write(bb);
file.write(bb,1,2);//灵活写入字节数组
//写入固定类型的数值(略)
//file.writeBoolean(true);
//file.writeBoolean(false);
//file.writeInt(130);
//file.writeByte(144);
//写入一个字符串
file.writeBytes("AA");
file.writeChars("DD");
file.writeUTF("中国人");
//查看数字对应的char
for(int i=0;i<200;i++){
System.out.println(i+"="+(char)i);
System.out.println(i+"="+(byte)i);
}
//file.close();// 关闭文件
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
java 随机读写Java类文件 java 随机读写Java类文件 java 随机读写Java类文件
主要为大家详细介绍了Java核心编程之文件随机读写类RandomAccessFile,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
文本文件的字符随机定位。可以精确到单个字符。前后移动。
33 MySQL数据库的日志顺序读写以及数据文件随机读写的原理.pdf
大家带来一个简单的教程《用VB产生随机文件》
vb中随机文件的读写get# put# random
前面介绍的对文件的读写...解决方法:可以移动文件内部的位置指针到需要读写的位置再进行读写(随机读写) 实现随机读写的关键:按要求移动位置指针(文件的定位) 完成文件定位的函数有:rewind、ftell、fseek函数
文件的随机读写与文件缓冲.pptx
python文件之文本文件的随机读写
行业-33 MySQL数据库的日志顺序读写以及数据文件随机读写的原理.rar
VB建立读写随机文件的例子
文件读写操作,文件内容操作,文件的创建、查找及删除,同时显示两个文件的内容,显示目录内同类型文件,文件分割,文件加密,合并两个文件信息,统计文件内容,格式化读写文件,随机读写文件,将数据写入磁盘文件,...
Java随机文件读写操作探讨
本文主要介绍C语言 文件的随机读写,这里整理了相关资料及示例代码以便大家学习参考,学习此部分内容的朋友可以参考下
在处理文件时,C语言还提供了文件定位函数,如`fseek`和`ftell`,它们允许程序在文件中移动文件指针到指定位置,从而实现对文件的随机访问。这对于需要处理大型文件或需要多次访问文件特定部分的程序来说非常有用。 ...
编译环境: Windows 7 Service Pack 1 C++ Builder Embarcadero RAD Studio XE Version 15.0.3890.34076 这里用 C++ Builder窗口代码演示
这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。字符数据易于使用,但是有些操作,比如随机...
包括文件的打开与关闭,对文件指针赋值,顺序读写(单字符读写,字符串读写,二进制读写),随机读写与文件结束判定。本文潜入深出,用通俗易懂的语言向读者介绍了C中一系列有关读写的内容。同时文章特点突出,在...
产生10000个[0,100000)间的分段有序随机整数,存储于data11.txt文件。然后读取该文件的数据,调用洗牌算法打乱次序,将数据存储于data12.txt文件中。