Java04 save and read the .txt

本文介绍了一个名为Person的Java类的设计与实现,包括成员变量的定义、构造方法及toString和flatten方法的具体实现。此外,还详细展示了如何使用BufferedWriter将Person对象存储到文件中,以及如何通过BufferedReader从文件中读取并还原为Person对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NowtherehaveaclassnamedPerson:

publicclassPerson{

publicstaticintlastId=0;

privateStringname;

privateDatedateOfBirth;

privateStringaddress;

publicPerson(Stringname,DatedateOfBirth,Stringaddress){

super();//NowIdontwhatits.WhenIsearchit,Ionlyknowthatsuperisthesameasparentclass.Usingsuper()meansthatsubclasscaninvokealltheparentclasssmethods.

this.name=name;

this.dateOfBirth=dateOfBirth;

this.address=address;

lastId++;

this.idNumber=lastId;

}

publicStringtoString(){

return"Person[name="+name+",dateOfBirth="+dateOfBirth

+",address="+address+",idNumber="+idNumber+",phoneNum="+phoneNum+"]";

}

publicStringflatten(){

returnname+","+dateOfBirth.getTime()+","+address+","+phoneNum+","+idNumber;

}

}

StorethePerson’smessage:

publicstaticvoidstoreObjects(Person[]arr){

Filefile=newFile("PersonFile.txt");

try{

BufferedWriterfw=newBufferedWriter(newFileWriter(file,true));

for(inti=0;i<arr.length;i++){

fw.write(arr[i].flatten());//ToinvokePerson.flatten()tostroemessagebysomerules.

fw.newLine();

}

fw.flush();

fw.close();

}catch(IOExceptione){

}

}

Readthe.txt’smessages

publicstaticbooleanreadObjects(Person[]arr){

Filefile=newFile("PersonFile.txt");

Stringline;

Personx;

Stringname;

Datedob;

Stringaddress;

intid;

intposition=0;

try{

BufferedReaderfr=newBufferedReader(newFileReader(file));

while((line=fr.readLine())!=null){

String[]s=line.split(",");

//Themessagewestroearelikingthat:

//Weusinga(Stringline)toreceiveonelinemessage,theninvodeline.split(",")togetaString[].

name=s[0];

dob=newDate(Long.parseLong(s[1]));

address=s[2];

id=Integer.parseInt(s[3]);

x=newPerson(name,dob,address);

arr[position]=x;

position++;

}

fr.close();

}catch(IOExceptione){

returnfalse;

}

returntrue;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值