package joeho.net.csdn.blog.io;
import java.io.*;
public class RandomFileTest {
/**
* Method main
*
*
* @param args
*
*/
public static void main(String[] args) throws Exception {
RandomAccessFile rf = new RandomAccessFile("employee.txt","rw");
Employee em1 = getEmployee("ZHANG SAN",18);
rf.write(em1.getName().getBytes());
rf.writeInt(em1.getAge());
Employee em2 = getEmployee("Lisi",68);
rf.write(em2.getName().getBytes());
rf.writeInt(em2.getAge());
Employee em3 = getEmployee("WANGWU",14);
rf.write(em3.getName().getBytes());
rf.writeInt(em3.getAge());
rf.close();
byte[] buff = new byte[Employee.LEN];
RandomAccessFile raf = new RandomAccessFile("employee.txt","r");
raf.skipBytes(Employee.LEN+4);
int len = raf.read(buff);
String strName = new String(buff,0,len);
System.out.println(strName.trim()+":"+raf.readInt());
raf.seek(0);
len = raf.read(buff);
strName = new String(buff,0,len);
System.out.println(strName.trim()+":"+raf.readInt());
raf.skipBytes(Employee.LEN+4);
len = raf.read(buff);
strName = new String(buff,0,len);
System.out.println(strName.trim()+":"+raf.readInt());
}
public static Employee getEmployee(String name,int age)
{
Employee em = new Employee(name,age);
return em;
}
}
public class Employee {
private String name = "";
private int age = 0;
public static final int LEN =12;
/**
* Method Employee
*
*
*/
public Employee(String name,int age) {
if(name.length()>Employee.LEN){
name = name.substring(0,Employee.LEN);
}else{
while(name.length()<Employee.LEN){
name+="/u0000";
}
}
this.name = name;
this.age = age;
}
public String getName()
{
return name;
}
public int getAge(){
return age;
}
}