Problem przy zapisie

Problem przy zapisie
aolo23
  • Rejestracja:ponad 7 lat
  • Ostatnio:2 miesiące
  • Postów:186
0

Note: Figures.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Wstawiam to co potrzebne:

Kopiuj
public List<Wheel> wheels = new ArrayList<Wheel>();
    private List<Rectangle> rectangles = new ArrayList<Rectangle>();
    private List<Polygons> polygons = new ArrayList<Polygons>();

.
.
.

Kopiuj
if(source == saveButton)
        {

            try{
                FileOutputStream fs1 = new FileOutputStream("zapis.ser");
                ObjectOutputStream os_weel = new ObjectOutputStream(fs1);

                os_weel.writeObject(wheels);
                os_weel.close();
                fs1.close();

                FileOutputStream fs2 = new FileOutputStream("zapis2.ser");
                ObjectOutputStream os_rec = new ObjectOutputStream(fs2);
                os_rec.writeObject(rectangles);
                os_rec.close();
                fs2.close();

                FileOutputStream fs3 = new FileOutputStream("zapis3.ser");
                ObjectOutputStream os_polly = new ObjectOutputStream(fs3);
                os_polly.writeObject(polygons);
                os_polly.close();
                fs3.close();

            }
            catch (Exception ex){System.out.println("Nie udało się zapisać");}
   }
 if(source == loadButton)
        {
            try {
                ObjectInputStream c1 = new ObjectInputStream(new FileInputStream("zapis.ser"));
                     wheels = (ArrayList<Wheel>)c1.readObject(); //i na tej linijce się sypie
            }
            catch (Exception ex){System.out.println("...");}
       }

Exception oznacza więcej niż tysiąc słów.
edytowany 1x, ostatnio: aolo23
shagrin
  • Rejestracja:około 17 lat
  • Ostatnio:ponad 6 lat
  • Lokalizacja:Norwegia, Stavanger
0
Kopiuj
Wheel obj = null;
while ((obj = (Wheel) c1.readObject()) != null) {
     wheels.add(obj);
}

jarekr000000
No ale dlaczego? W sumie to on wsadza tam jeden obiekt - listę.
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
1

A może dokładniej co się sypie?
I nie rób sobie takiego harakiri. Bo nie dowiesz się co sie dzieje.

Kopiuj
 catch (Exception ex){System.out.println("...");}

Jak już to:

Kopiuj
ex.printStackTrace();

jeden i pół terabajta powinno wystarczyć każdemu
edytowany 1x, ostatnio: jarekr000000
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
1

Może opisz jaki masz problem, będzie łatwiej pomagać.
I popraw to catch j.w. opisane.

aolo23
  • Rejestracja:ponad 7 lat
  • Ostatnio:2 miesiące
  • Postów:186
0

readObject(); pokazuje mi tylko na ten fragment kodu i nie wiem co w tym złego

Błąd taki jak podałem na początku tylko tyle wyskakuje w terminalu przy próbie kompilacji


Exception oznacza więcej niż tysiąc słów.
kiyo
  • Rejestracja:około 8 lat
  • Ostatnio:około 9 godzin
  • Postów:155
2

Przekompilowałeś z tym -Xlint:unchecked? Jeśli tak, to co Ci zwróciło?

aolo23
  • Rejestracja:ponad 7 lat
  • Ostatnio:2 miesiące
  • Postów:186
0

** Figures.java:248: warning: [unchecked] unchecked cast
wheels = (ArrayList<Wheel>)c1.readObject( );
........................................................................ ^
required: ArrayList<Wheel>
found: Object
1 warning**

Tyle mi pokazuje


Exception oznacza więcej niż tysiąc słów.
edytowany 3x, ostatnio: aolo23
CountZero
  • Rejestracja:ponad 7 lat
  • Ostatnio:11 miesięcy
  • Postów:262
2

Przecież to nie błąd, a ostrzeżenie. Robisz w tej linijce rzutowanie na jakiś tam obiekt, a na tym etapie nie wiesz czy uda się zrzutować czy nie.

https://stackoverflow.com/questions/262367/type-safety-unchecked-cast

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.