Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    RandomAccessFile

    Ciao,
    potrei sviluppare un piccolo programma java che, dato un file cerca una stringa e quando la trova sostituisce una parte di quello che c'è dopo?

    Esempio:
    dato un file chiamato prova.txt
    il cui contenuto è:
    a=1
    b=2
    c=3
    d=4

    occorre fare un programma che legge il file cerca la stringa "c=" e quando la trova sostituisce il 3 con 15.
    Mi hanno detto di usare RandomAccessFile.Non so come funziona questo e cosi non mi scrive 15.

    .......
    .......

    if(linea.equals("3")){
    RandomAccessFile file = new RandomAccessFile("prova.txt","rw");
    file.write(15);
    file.close();
    }

    .......

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Il titolo dovrebbe essere più significativo.
    Questo l'ho modificato io.

    Ad ogni modo, non credo che RandomAccessFile sia la soluzione più buona per i file di testo.
    Con questo tipo di file si usano PrintStream per scrivere e BufferedReader per leggere (o FileInputStream, se proprio ci si vuol "fare male").


    RandomAccessFile è per i file ad accesso casuale, che solitamente hanno una loro struttura interna a record.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Chiaro.
    Scusa se sono confuso.Sto cercando a sostituire un un numero al posto di numero vecchio se trovo quel numero da sostituire.
    è replace, giusto?Ma non mi sostituisce, mi scrive la nuova riga a causa di PrintStream.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.