?? 文件中寫入三名員工的信息.txt
字號:
import java.io.*;
class Employee{
String name;
int age;
public Employee(String name,int age){ //將每名員工信息修改成等長的記錄
if(name.length()>8) //其中姓名字段是8個字節,年齡字段是4個字節
name = name.substring(0,8);
else{
while(name.length()<8)
name +="\u0000";
}
this.name = name;
this.age = age;
}
}
public class RAFileDemo{
public static void main(String args[]){
Employee e1 = new Employee("ZhangSansan",21);
Employee e2 = new Employee("LiMing",22);
Employee e3 = new Employee("ChenLi",19);
try{
RandomAccessFile ra = new RandomAccessFile("Employee.dat","rw");
ra.write(e1.name.getBytes());
ra.writeInt(e1.age);
ra.write(e2.name.getBytes());
ra.writeInt(e2.age);
ra.write(e3.name.getBytes());
ra.writeInt(e3.age);
ra.close();
RandomAccessFile raf = new RandomAccessFile("Employee.dat","r");
String strname;
byte [] buf = new byte[8];
raf.seek(12); //將文件指針移動到第二名員工的位置
raf.read(buf);
strname = new String(buf);
System.out.println(strname+":" +raf.readInt());
raf.seek(0); //將文件指針移動到第一名員工的位置
raf.read(buf);
strname = new String(buf);
System.out.println(strname+":" +raf.readInt());
raf.skipBytes(12); //將文件指針移動到第三名員工的位置,等同于raf.seek(24)
raf.read(buf);
strname = new String(buf);
System.out.println(strname+":" +raf.readInt());
raf.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -