PDA

View Full Version : [java]scrivere su file di testo


marpessio
23-04-2008, 10:12
Salve volevo sapere se oltre a leggere è possibile scrivere su un punto preciso di un file di testo ad es:

3 4 5
8 9 10
11 2 6

io sulla seconda riga vorrei aggiungere 3 ed ottenere

3 4 5
8 9 10 3
11 2 6


grazie a tutti

khelidan1980
23-04-2008, 10:15
ma ancora non hai capito come funiona il regolamento?Ti hanno chiuso il thread con un link alla motivazione e non ti sei nemmeno degnato di leggerla?

Tra l'altro non hai neanche scritto il linguaggio,non solo nel titolo ma neanche nel post!

marpessio
23-04-2008, 10:42
si è vero scusa veramnete....è sempre java

marpessio
23-04-2008, 12:54
ho sentito parlare di RandomAccesFile...con questo riesco a scrivere e leggere su un file nella posizione che voglio?

dove posso trovare alcuni esempi per capire come funziona?

feboss
23-04-2008, 13:10
http://www.java2s.com/Tutorial/Java/0180__File/EmploysRandomAccessFiletostoreintsandchangesthevalueofthethirdint.htm
import java.io.IOException;
import java.io.RandomAccessFile;

public class MainClass {
public static void main(String[] args) {
try {
RandomAccessFile raf = new RandomAccessFile("c:\\temp\\RAFsample.txt", "rw");
raf.writeInt(10);
raf.writeInt(43);
raf.writeInt(88);
raf.writeInt(455);

// change the 3rd integer from 88 to 99
raf.seek((3 - 1) * 4);
raf.writeInt(99);
raf.seek(0); // go to the first integer
int i = raf.readInt();
while (i != -1) {
System.out.println(i);

i = raf.readInt();
}
raf.close();
} catch (IOException e) {
}
}
}

marpessio
23-04-2008, 14:07
ma io devo scrivere sul file come dicevo tipo
15 30 40
18 23 21
ecc..

quindi come faccio ad andare a capo?

lovaz
24-04-2008, 10:29
Se tutti i numeri sono scritti con lo stesso n. di caratteri e' semplice,
ad es. se sono come nel tuo ultimo post alle posizioni multipli di 9
ci sara' un "a capo"

feboss
24-04-2008, 17:59
cmq secondo me molto meglio che ti carichi riga per riga i dati in una struttura dati(lista)
ci aggiungi i numeri che vuoi.e riscrivi la riga in un nuovo file
cosi per tutto il file