a/c giúp e với
Tại sao nó không ghi được tất cả thông tjn lớp “kySu” ra được vậy ?
mà trong Khi đó Lớp KySu Đã kế thừa lớp Person rôì ạ
Lớp Person
public class Person {
protected String hoTen;
protected String ngaySinh;
protected String queQuan;
public Person() {
}
public Person(String hoTen, String ngaySinh, String queQuan) {
super();
this.hoTen = hoTen;
this.ngaySinh = ngaySinh;
this.queQuan = queQuan;
}
public String getHoTen() {
return hoTen;
}
public void setHoTen(String hoTen) {
this.hoTen = hoTen;
}
public String getNgaySinh() {
return ngaySinh;
}
public void setNgaySinh(String ngaySinh) {
this.ngaySinh = ngaySinh;
}
public String getQueQuan() {
return queQuan;
}
public void setQueQuan(String queQuan) {
this.queQuan = queQuan;
}
@Override
public String toString() {
return " [hoTen=" + hoTen + ", ngaySinh=" + ngaySinh + ", queQuan=" + queQuan + "]";
}
Lớp KySu
public class KySu extends Person implements Serializable{
private String ngayHoc;
private int namTotNghep;
public KySu() {
}
public KySu(String hoTen, String ngaySinh, String queQuan,String ngayHoc, int namTotNghep) {
super(hoTen, ngaySinh, queQuan);
this.ngayHoc = ngayHoc;
this.namTotNghep = namTotNghep;
}
public String getNgayHoc() {
return ngayHoc;
}
public void setNgayHoc(String ngayHoc) {
this.ngayHoc = ngayHoc;
}
public int getNamTotNghep() {
return namTotNghep;
}
public void setNamTotNghep(int namTotNghep) {
this.namTotNghep = namTotNghep;
}
@Override
public String toString() {
return "KySu [hoTen=" + this.hoTen + ", ngaySinh=" +this.ngaySinh + ", queQuan=" +this.queQuan + "ngayHoc=" + this.ngayHoc + ", namTotNghep=" + namTotNghep + "]";
}
public int compareTo(KySu ts) {
// TODO Auto-generated method stub
if (this.getNamTotNghep() > ts.getNamTotNghep())
return -1;
if (this.getNamTotNghep()== ts.getNamTotNghep())
return this.ngayHoc.compareTo(ts.getNgayHoc());
return 1;
}
}
Test SeriarlizableFileFactory
public class SeriarlizableFileFactory {
public static boolean ghiFile(ArrayList<KySu> ds,String path)
{
try
{
FileOutputStream fos=new FileOutputStream(path);
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(ds);
oos.close();
fos.close();
return true;
}
catch(Exception e)
{
e.printStackTrace();
}
return false;
}
public static ArrayList<KySu>docfile(String path)
{
ArrayList<KySu>ds=new ArrayList<KySu>();
try
{
FileInputStream fs=new FileInputStream(path);
ObjectInputStream ols=new ObjectInputStream(fs);
Object data=ols.readObject();
ds=(ArrayList<KySu>) data;
ols.close();
fs.close();
}
catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return ds;
}
}
Test
public class Test {
public static void luFile()
{
ArrayList<KySu> ds =new ArrayList<KySu>();
ds.add(new KySu("nguyen van b","17","nam","12",1));
ds.add(new KySu("nguyen van c","19","nam","12",34));
if(SeriarlizableFileFactory.ghiFile(ds,"D:/text.txt"))
{
System.out.println("gh danh sach thành công");
}
else
System.out.println("gh danh sach thất bại");
}
public static void main(String[] args) {
// luFile();
ArrayList<KySu> ds2=SeriarlizableFileFactory.docfile("D:/text.txt");
System.out.println("danh sách khách hang");
for(KySu dsh:ds2)
{
System.out.println(dsh);
}
}
}



83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?