PDA

Visualizza la versione completa : file in java


tato83
12-04-2003, 16:50
ciao a tutti,
volevo sapere quale è la classe e il metodo che gestisce l'accesso e la modifica dei file...Mi spiego meglio.
Io creo dei programmi in java (per esempio una rubrica telefonica) e faccio in modo che il primo contatto che salvo venga salvato in un file contatti.Quando poi inserisco il secondo contatto,però, il programma scrive il contatto nel file, ma sovrascrive il file.QUindi io mi trovo sempre con un solo contatto nella rubrica.Come posso fare?Quale è il metodo?Quale la classe che gestisce queste cose?

grazie...

Zero-2
12-04-2003, 19:13
Penso che questo faccia al caso tuo
FileOutputStream m=new FileOutputStream(File file, boolean append) ;
se append=true appende i nuovi byte alla fine del file.

Ciauz
:ciauz:

dvx80
06-05-2003, 17:09
Senza aprire una nuova discussione sfrutto questa già aperta da tempo :).

Volevo solamente chiedere questo.
Devo creare un file con dentro 200 stringhe. Se uso il metodo write tutte le stringhe mi vengono una affianco all'altra. Invece vorrei che mi venissero una sotto l'altra.
Esiste qualcosa del tipo writeln o come cavolo devo fare ?!!??

Grazie :ciauz:

floyd
06-05-2003, 18:30
write("string\n");

dvx80
08-05-2003, 08:30
Ok cosi va decisamente meglio. Grazie mille :metallica

lelefante
08-05-2003, 08:56
Se usi un oggetto tipo PrintWriter puoi sfruttare il metodo println(String s).
Questo metodo scrive tutta la stringa e poi vi accoda "\n", in modo che tutte le stringhe risultino una sotto l'altra e non di seguito.

Il tuo codice non compila perche' quando fai cosi':


public void scrivi(String s)throws IOException {
try{
for(int i=0;i<s.length();++i)
outStream.write(s.charAt(i)\n); <-- Errore
}catch(Exception e){}
}
}


Il compilatore cerca di interpretare [B]s.charAt(i)\n[\B] ma non ci riesce perche' e' un errore di sintassi.
Per fare cio' che ti serve con il tuo metodo dovresti aggiungere un solo carattere newline alla fine della stringa, cioe' all'esterno del ciclo for.

dvx80
08-05-2003, 08:59
Infatti dopo un po di prove sono arrivato anch'io a questa soluzione. Ed infatti ho editato il prima possibile. Ma come dice il saggio: "Per quanto tu sia veloce ci sarà sempre qualcuno più veloce di te".....

Grazie cmq dell'interessamento :D.

dvx80
02-07-2003, 16:59
Rispolvero questo thread per chiedere un altra cosuccia sui file....

Come faccio per cancellare una o piùrighe da un file di testo???

Ho cercato un bel po nella libreria I/O ma non ho trovato nienteche facesse al caso mio....

Help :)....

Zero-2
02-07-2003, 17:16
Potresti creare un nuovo file , ricopiare nel nuovo file il vecchio fintanto che non arrivi alla riga che ti interessa , saltarla e continuare a scrivere.
E più facile a farsi che a dirsi :D:D

dvx80
03-07-2003, 08:25
Ci avevo già pensato ma sarebbe veramente una rottura di OO :D....

Dai vuoi dirmi che non esiste un sistema :eek: ......

Onnipotente floyd aiutami tu :D....

Loading