[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..

avatar ragilsatria
@ragilsatria

4 Kontribusi 1 Poin

Diperbarui 6 tahun yang lalu

2 Jawaban:

maaf sudah terpecahkan, saya yang kurang teliti hehe..

avatar ragilsatria
@ragilsatria

4 Kontribusi 1 Poin

Dipost 6 tahun yang lalu

[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?

avatar keccikun
@keccikun

364 Kontribusi 196 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban