Postingan lainnya
[JAVA] readObject undefined?
halo saya pemula nih dalam dunia java, berikut kode yang saya tulis.
class stockMobil
package simpanObjek;
import java.io.Serializable;
public class stockMobil implements Serializable {
private String jenis;
private String noPolisi;
private int harga;
public stockMobil(String jenis, String noPolisi, int harga) {
this.jenis = jenis;
this.noPolisi = noPolisi;
this.harga = harga;
}
public String infoJenis() {
return(jenis);
}
public String infonoPolisi() {
return(noPolisi);
}
public int infoHarga() {
return(harga);
}
}
class SimpanObjek (main)
package simpanObjek;
import java.io.DataInputStream;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public class SimpanObjek {
public static void main(String[] args) {
simpan();
baca();
}
public static void simpan() {
try {
//buka file untuk penulisan data
FileOutputStream berkasData = new FileOutputStream("c:\\latjava\\pembelian.dat");
//buat objek penulisan data
ObjectOutputStream keluaran = new ObjectOutputStream(berkasData);
//buat objeck stockMobil
stockMobil stokA = new stockMobil("Toyota Rush", "AB1234TU", 160000000);
stockMobil stokB = new stockMobil("Suzuki Baleno", "D6079WG", 140000000);
stockMobil stokC = new stockMobil("Daihatsu Xenia", "B413ILU", 200000000);
//simpan data ke file
keluaran.writeObject(stokA);
keluaran.writeObject(stokB);
keluaran.writeObject(stokC);
//tutup file
berkasData.close();
}
catch(Exception e) {
System.out.println("terjadi kesalahan saat menyimpan data : " + e.getMessage());
e.printStackTrace();
}
}
public static void baca() {
try {
//buka file untuk pembacaan data
FileInputStream berkasData = new FileInputStream("c:\\latjava\\pembeilan.dat");
//buat objek untuk penulisan data
DataInputStream masukan = new DataInputStream(berkasData);
//baca data
stockMobil s;
while(true) {
try {
s = (stockMobil) masukan.readObject(); //line error?
System.out.println(s.infoJenis());
System.out.println(s.infonoPolisi());
System.out.println(s.infoHarga());
System.out.println();
}
catch (EOFException e) {
//DATA MEMANG SUDAH HABIS
System.out.println("** AKHIR DATA!! **");
berkasData.close();
return;
}
catch (Exception e) {
System.out.println("Terjadi kesalahan saat membaca data : " + e.getMessage());
return;
}
}
}
catch (Exception e) {
System.out.println("Terjadi kesalahan saat membaca data : " + e.getMessage());
e.printStackTrace();
return;
}
}
}
error terjadi di metode fungsi baca(); pada line s = (stockMobil) masukan.readObject();
error yang saya dapatkan : Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method readObject() is undefined for the type DataInputStream
at simpanObjek.SimpanObjek.baca(SimpanObjek.java:55) at simpanObjek.SimpanObjek.main(SimpanObjek.java:13)
pertanyaan saya, kenapa hal demikian terjadi, apakah ada kesalahan atau kekurangan? btw kode diatas adalah kode yang berasal dari buku pembelajaran yang saya baca, terima kasih sebelumnya..
2 Jawaban:
maaf sudah terpecahkan, saya yang kurang teliti hehe..
[Resolved] Ada yang kurang saat mendeklarasikan stockMobil, coba ubah bagian ini:
Codingan anda
//baca data
stockMobil s;
while(true) {
try {
s = (stockMobil) masukan.readObject(); //line error?
Ubah bagian ini
//baca data
stockMobil s = new stockMobil();
while(true) {
try {
s = (stockMobil) masukan.readObject(); //line error?