Salve a tutti,
ho un problema, ovvero devo scrivere delle informazioni su un file, riga per riga, e poi devo poter prendere le 100 informazioni più recenti.
Presupponendo che non so quante righe ci possono essere su un file e che potrebbero essere anche tantissime (quindi no l'idea di leggersele tutte su un array e poi leggersi gli indici all'incotrario) allora mi chiedo se c'è un modo per ovviare il problema:
- O scrivendo sul file "all'incontrario", ovvero invece di appendere a fine file ogni nuova stringa di scriverla in testa;
- O leggendo dalla fine del file verso l'inizio;
Io attualmente per scrivere utilizzo il seguente codice:
codice:path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); fs = new FileStream(path + @nomefile, FileMode.Append, FileAccess.Write); streamwriter = new StreamWriter(fs); streamwriter.WriteLine(linea); streamwriter.Close();
Non c'è qualche modo rapido ed indolore per dirgli semplicemente di scrivere a inizio file e non a fine file?
Per leggere utilizzo analogalmente uno streamreader ed il corrispettivo metodo readline.
Vi ringrazio in anticipo,
Neptune.


Rispondi quotando