[ miltes @ 09.10.2007. 17:21 ] @
Zdravo svima! Imam problem sa cuvanjem podataka na fajl. Moram da razvijem web aplikaciju koja ce podatke umesto u bazi, cuvati na fajlu. Opet imam metodu save(), ali ona nema komunikaciju sa bazom, nego sa fajlom, evo kako sam je resio: Code: public class Fax implements Serializable{ ... public boolean save() { boolean saved = false; try { ObjectOutputStream faxOos = new ObjectOutputStream(new FileOutputStream("db/faxDb.tmp", true)); faxOos.writeObject(new Fax()); faxOos.close(); saved = true; } catch (Exception e) { e.printStackTrace(); saved = false; } return saved; } i ta metoda snimi u fajl objekat Fax-a, ali problem je kada moram to iscitati iz fajla, za to sam napisao metodu loadAll: Code: public class Fax implements Serializable{ ... public static Vector loadAll(){ Vector allFax = new Vector(); try { ObjectInputStream faxOis = new ObjectInputStream(new FileInputStream("db/faxDb.tmp")); while(true){ try{ allFax.addElement(faxOis.readObject()); } catch (EOFException e){ return allFax; } } catch (Exception e) { e.printStackTrace(); allFax = null; } return allFax; } ali izbacuje StreamCorruptedException. Svaka sugestija je dobrodosla! Ps. Probao sam i: Code: public static Vector loadAll(){ Vector allFax = new Vector(); try { ObjectInputStream faxOis = new ObjectInputStream(new FileInputStream("db/faxDb.tmp")); while (true){ Object obj = faxOis.readObject(); if (obj instanceof Fax ) break; allFax.add(obj); } } catch (Exception e) { e.printStackTrace(); allFax = null; } return allFax; } ali onda bas nista ne uradi... Pozdrav! Milan |