Allora mi sono ritrovato davanti ad un problema che sinceramente non mi aspettavo.
nella mia pplicazione carico e salvo nel seguente modo:
il che funziona benissimo su windows, mentre su unix no.codice:public void salvaAssociato() { if(MetodiUtilità.controllaSessione())return; try { File f = new File("archive/Associati.fjs"); f.setWritable(true); FileOutputStream file = new FileOutputStream(f.getAbsolutePath()); ObjectOutputStream output = new ObjectOutputStream(file); output.writeObject(this.listaAssociati); file.flush(); file.close(); } catch (Exception e) { e.printStackTrace(); } } public void caricaAssociato() throws ClassNotFoundException { FileInputStream file; try { file = new FileInputStream("archive/Associati.fjs"); ObjectInputStream input = new ObjectInputStream(file); this.listaAssociati = (HashMap<String, Persona>) input.readObject(); file.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); this.salvaAssociato(); } }
il problema è al 99% il path...che su windows e su linux è "diverso", solo che non ricordo come risolvere questo problema...in pratica non ricordo come fare il check sul Sistema Operativo e in base a quello cambiare il loading dei file.

Rispondi quotando