?? randomfiletest.java
字號(hào):
package io;
import java.io.*;
public class RandomFileTest{
public static void main(String[] args) throws Exception{
Student st1=new Student(1,"zhangsan",98.5);
Student st2=new Student(2,"lishi",96.5);
Student st3=new Student(3,"wangwu",78.5);
RandomAccessFile raf=new RandomAccessFile("student.txt","rw");
st1.writeStudent(raf);
st2.writeStudent(raf);
st3.writeStudent(raf);//當(dāng)讀取第三個(gè)學(xué)生信息的時(shí)候,文件指針已經(jīng)指向了文件的末尾.
Student s=new Student();
raf.seek(0);//將文件指針重新定向?yàn)橹赶蛭募拈_頭.否則報(bào)出EOF異常.
for(long i=0;i<raf.length();i=raf.getFilePointer()){/*raf.length()返回文件長(zhǎng)度,返回的值是long型;
和raf.getFilePointer()返回些文件的當(dāng)前
返回的都是long類型
*/
s.readStudent(raf);
System.out.println(s.num+":"+s.name+":"+s.score);
}
raf.close();
}
}
class Student {
int num;
String name;
double score;
public Student(){
}
public Student(int num,String name,double score){
this.num=num;
this.name=name;
this.score=score;
}
public void writeStudent(RandomAccessFile raf)throws Exception{
raf.writeInt(num);
raf.writeUTF(name);//讀取String類型的數(shù)據(jù),并把這個(gè)字符串的長(zhǎng)度記錄在其中.而writeChar()則無(wú)此功能
raf.writeDouble(score);
}
public void readStudent(RandomAccessFile raf)throws Exception{
num=raf.readInt();
name=raf.readUTF();
score=raf.readDouble();
}
}
/*import java.io.*;
class RandomFileTest
{
public static void main(String[] args) throws Exception
{
Student s1=new Student(1,"zhangsan",98.5);
Student s2=new Student(2,"lisi",96.5);
Student s3=new Student(3,"wangwu",78.5);
RandomAccessFile raf=new RandomAccessFile("student.txt","rw");
s1.writeStudent(raf);
s2.writeStudent(raf);
s3.writeStudent(raf);
Student s=new Student();
raf.seek(0);
for(long i=0;i<raf.length();i=raf.getFilePointer())
{
s.readStudent(raf);
System.out.println(s.num+":"+s.name+":"+s.score);
}
raf.close();
}
}
class Student
{
int num;
String name;
double score;
public Student()
{
}
public Student(int num,String name,double score)
{
this.num=num;
this.name=name;
this.score=score;
}
public void writeStudent(RandomAccessFile raf) throws IOException
{
raf.writeInt(num);
raf.writeUTF(name);
raf.writeDouble(score);
}
public void readStudent(RandomAccessFile raf) throws IOException
{
num=raf.readInt();
name=raf.readUTF();
score=raf.readDouble();
}
}*/
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -