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

    Modificare linea in un file di testo

    Salve ragazzi, vi spiego brevemente il mio problema.
    Ho un file di testo organizzato per tab in questo modo:

    codice:
    ps = new PrintStream(projectFile);					
    ps.println("Nome"+'\t'+"Cognome"+'\t'+"DataNascita"+'\t'+"Città"+'\t'+"Indirizzo");
    In un primo momento, vado a "popolare" il mio file andando a riempire solamente i campi relativi al Nome e all'Indirizzo, in questo modo:

    codice:
    ps.println("Marco"+'\t'+""+'\t'+""+'\t'+""+'\t'+"Via Roma 36");
    A questo punto, al verificarsi di un dato evento che non sto qui a spiegarvi, devo intervenire nuovamente su quella linea del file e riempire i campi che prima avevo lasciato vuoti. Non ho nessun problema a spostarmi all'interno del file e raggiungere la suddetta riga, però chiaramente nel momento in cui vado ad effettuare la print, mi aggiunge i dati in coda alla riga determinata. C'è un modo per entrare all'interno di quel flusso ed aggiungere le informazioni mancanti? Mi scuso ovviamente se la mia domanda può risultare stupida, ma sono alle prime armi.

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

    Re: Modificare linea in un file di testo

    Originariamente inviato da JokingER
    C'è un modo per entrare all'interno di quel flusso ed aggiungere le informazioni mancanti? Mi scuso ovviamente se la mia domanda può risultare stupida, ma sono alle prime armi.
    No. L'unico modo per "modificare" un file di testo è di riscriverlo completamente.

    PS: il codice che hai postato è abbastanza inefficiente, oltre ad usare cose abbastanza inutili. Questa riga di codice

    codice:
    ps.println("Nome"+'\t'+"Cognome"+'\t'+"DataNascita"+'\t'+"Città"+'\t'+"Indirizzo");
    Può essere riscritta tranquillamente in questo modo:

    codice:
    ps.println("Nome\tCognome\tDataNascita\tCittà\tIndirizzo");
    In questo modo ti risparmi un sacco di concatenazioni e un sacco di conversioni da char a String. Ed il risultato è lo stesso identico.


    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
    Ok, quindi a questo punto devo inevitabilmente usare un secondo file per "ricopiare" tutte le informazione necessarie e aggiungere quelle mancanti.

    Grazie

  4. #4
    Ma xche non riesci a memorizzarti le informazioni in una collection o struttura dati, modifichi e poi riscrivi il file usato in precedenza?
    E' inutile usare un altro file x una operazione del genere...
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da schumy2000
    E' inutile usare un altro file x una operazione del genere...
    ... a meno che il file non sia effettivamente ENORME, tanto da provocare un OutOfMemoryError...


    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

  6. #6
    ah beh certo ma se mi dice che è alle prime armi non credo debba caricare l'anagrafica delle targhe automobilistiche in Italia
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

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.