Friday, November 18, 2016
Bà i 33 Äá»c ghi file theo Object trong Java
Bà i 33 Äá»c ghi file theo Object trong Java
Bài 33: ??c ghi file theo Object trong Java
?
- Mình s? vi?t 2 ví d? c? th?, v?i các m?c ?? khác nhau,t? ??n gi?n nh?t. N?u b?n th?y khó hi?u ch? nào có th? bình lu?n phía d??i. M?i ng??i cùng trao ??i.
**Chú ý: ?? ??c ghi theo Object trong Java thì t?i class Object ?ó ta c?n ??t giao ti?p java.io.Serializable (implements Serializable)
Ví d? 1: ??c ghi 1 ??i t??ng lên file theo t?ng object:
- Khai báo 1 class SinhVien g?m 2 thu?c tính h? tên, tu?i. T?o 1 ??i t??ng c? th? sinh viên a sau ?ó
gán thông tin cho sinh viên a r?i ghi ??i t??ng a này xu?ng file "E:sinhvien.dat"
- M? file trên ra. ??c file ?ó theo ki?u object ?? l?y ??i t??ng ?ó ra, (c?n ép ki?u v? ki?u d? li?u c?a ??i t??ng), r?i gán nó vào ??i t??ng a1. In ra màn hình thông tin ??i t??ng a1. Code nh? sau:
PHP:
package javaandroidvn;
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;
class SinhVien implements Serializable {
public String hoTen;
public int tuoi;
}
public class JavaAndroidVn {
public static void main(String[] args) throws IOException {
SinhVien a = new SinhVien();
a.hoTen = "V? V?n T??ng";
a.tuoi = 21;
try {
FileOutputStream f = new FileOutputStream("E:sinhvien.dat");
ObjectOutputStream oOT = new ObjectOutputStream(f); // S? d?ng ?? ghi file theo t?ng Object
oOT.writeObject(a); // Ghi Object là ??i t??ng a xu?ng file
oOT.close();
f.close();
} catch (IOException e) {
System.out.println("Có l?i x?y ra!");
}
SinhVien a1 = new SinhVien(); //T?o ??i t??ng a1 m?i, ?? phía d??i gán b?ng ??i t??ng ta l?y ???c ra t? file
try {
FileInputStream f = new FileInputStream("E:sinhvien.dat");
ObjectInputStream oIT = new ObjectInputStream(f); // S? d?ng ?? ??c file theo t?ng Object
a1 = (SinhVien) oIT.readObject(); //??c Object ??u tiên ép ki?u v? ki?u SinhVien sau ?ó gán b?ng ??i t??ng a1
oIT.close();
f.close();
} catch (IOException io) {
System.out.println("Có l?i x?y ra!");
} catch (ClassNotFoundException ex) {
System.out.println("Không tìm th?y class");
}
System.out.println("Thông tin sinh vien a1 ??c ra là: Tên: "+a1.hoTen+" Tu?i: "+a1.tuoi);
}
}
(Qua ví d? này, và k?t h?p bài sau, mình s? gi?i thi?u cách ??c ghi 1 danh sách các ??i t??ng lên file, giúp vi?c qu?n lý danh sách các ??i t??ng d? dàng h?n!)
PHP:
package javaandroidvn;
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;
class SinhVien implements Serializable {
private String hoTen;
private int tuoi;
public String getHoTen() {
return hoTen;
}
public void setHoTen(String hoTen) {
this.hoTen = hoTen;
}
public int getTuoi() {
return tuoi;
}
public void setTuoi(int tuoi) {
this.tuoi = tuoi;
}
}
public class JavaAndroidVn {
Available link for download