📄 randomfiletest.java
字号:
/**
*Author Miracle
*Time 2005.11.26 12:40
*
*/
/*** Test RandomAccessFile ***/
import java.io.*;
import java.io.RandomAccessFile;
public class RandomFileTest
{
public static void main(String [] args) throws Exception
{
Employee e1 = new Employee("Miracle",20);
//Employee e2 = new Employee("zhoutao",20);
Employee e2 = new Employee("zhoutao",25);
/* When the number > 256, --> num-256*/
/* > one byte */
Employee e3 = new Employee("zheshandian",21);
RandomAccessFile ra = new RandomAccessFile("Employee.txt","rw");
ra.write(e1.name.getBytes());
//ra.write(e1.age); //only write one byte;
ra.writeInt(e1.age); // write four byte;
ra.write(e2.name.getBytes());
//ra.write(e2.age);
ra.writeInt(e2.age);
ra.write(e3.name.getBytes());
//ra.write(e3.age);
ra.writeInt(e3.age);
ra.close();
byte[] buff = new byte[Employee.LEN];
int length=0;
String strName=null;
RandomAccessFile raf = new RandomAccessFile("Employee.txt","rw");
raf.skipBytes(Employee.LEN+4);
length = raf.read(buff);
strName = new String(buff,0,length);
System.out.println(strName.trim()+":"+raf.read());
raf.seek(0);
length = raf.read(buff);
strName = new String(buff,0,length);
System.out.println(strName.trim()+":"+raf.read());
raf.skipBytes(Employee.LEN+4);
length = raf.read(buff);
strName = new String(buff,0,length);
System.out.println(strName.trim()+":"+raf.read());
raf.close();
}
}
class Employee
{
String name;
int age;
public static final int LEN=8;
public Employee(String name,int age)
{
if(name.length() > LEN)
{
name = name.substring(0,LEN);
}
else
{
while(name.length() < LEN)
{
name += "\u0000";
}
}
this.name = name;
this.age = age;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -