package io;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* 实现文件随机存/取操作
* @author liuhuiyan
*
*/
public class TestRandomAccessFile {
private File file = null;
public static void main(String[] args) {
TestRandomAccessFile traf = new TestRandomAccessFile();
traf.init();
traf.record("Billy",22);
traf.listAllRecords();
}
private void record(String record_breaker, int time) {
try {
RandomAccessFile raf = new RandomAccessFile(file, "rw");
boolean flag = false;
while(raf.getFilePointer()<raf.length()){
String name = raf.readUTF();
if (record_breaker.equals(name)) {
raf.writeInt(time);
flag=true;
break;
}else {
raf.skipBytes(4);
}
}
if (!flag) {
raf.writeUTF(record_breaker);
raf.writeInt(time);
}
raf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private void listAllRecords() {
RandomAccessFile raf;
try {
raf = new RandomAccessFile(file, "r");
while(raf.getFilePointer()<raf.length()){
String name= raf.readUTF();
int time = raf.readInt();
System.out.println("name: "+name+"\t record:"+time);
}
raf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private void init() {
if (file==null) {
file = new File("record.txt");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
实现文件随机存/取操作
最新推荐文章于 2022-09-21 19:00:00 发布