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

    [JAVA] scrittura su file già aperto

    Eccomi di nuovo qui,

    nuovo problema,

    sto leggendo da un file delle righe e vorrei che al verificarsi di uan condizione, venga eliminata la riga presa in considerazione e sostituita con una nuova VVoVe:


    String nuovaRiga = this.getEtichetta()+","+this.getNomeProgetto();

    try{
    File f = new File("option.con");
    FileInputStream fi = new FileInputStream(f);
    InputStreamReader s = new InputStreamReader(fi);
    BufferedReader filebuf = new BufferedReader(s);
    String nextStr;
    String [] rigaSlip;

    for( nextStr = filebuf.readLine(); nextStr != null; nextStr = filebuf.readLine() ) {
    rigaSlip = nextStr.split(",");
    if( rigaSlip[0].equals("prova"){.....


    qualche dritta .... :master:

    grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Come già detto in un post non tanto tempo fa (l'autore era SilverJava), l'unico modo per eliminare una riga da un file consiste nel riscrivere l'intero file senza tale linea.

    Lo stesso dicasi per la sostituzione (eliminazione + aggiunta).

    Quindi devi procedere in questo modo: leggi il file riga per riga e salva ciascuna riga su un Vector.
    Se si verifica la condizione, al posto della riga letta inserisci nel Vector la riga che la sostituisce.
    Alla fine, riscrivi l'intero file, prendendo i dati dal Vector.


    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
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    37
    Potresti anche non salvare le linee che vai a leggere.
    Basta aprire sul file oltre allo stream di input anche uno di output.
    In questo modo puoi procedere con questi passi:

    Crea un file con nome diverso da quello che va modificato (esempio temp.XXX);

    FINCHE' CI SONO LINEE NEL FILE:

    1.Leggi una linea di testo dal file originario(esempio "readLine()");

    2.Verifica se secondo i tuoi criteri è una linea da mantenere, da cancellare o sostituire:
    2a.Se è da mantenere scrivila sul file temp.XXX (esempio con "printLine()" di PrintWriter);
    2b.Se è da eliminare non effettuare alcuna operazione sul file temp.XXX;
    3c.Se è da sostituire scrivi sul file temp.XXX la nuova String;

    FINE CICLO;

    Alla fine dovrai solo eliminare il file originario e rinominare il file tempo.XXX con il nome del file originario.

    Spero di averti dato una mano.

  4. #4



    grazie,grazie,grazie,grazie,grazie,grazie,grazie,

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 © 2024 vBulletin Solutions, Inc. All rights reserved.