Salve a tutti,
ho un problema che non riesco a comprendere e ovviamente a risolvere.
In pratica ho un file di testo .txt e devo aggiungerci del testo. Ok sembra facile e infatti mi funziona perfettamente; il problema però che funziona solo con un file.
Mi spiego meglio, sto sviluppando un'applicazione in C# e nell'applicazione ho creato un file log.cs dove in pratica ho il seguente codice :
private static string pathFileLOG = Path.Combine(Environment.CurrentDirectory, @"log\", "log.txt");
private static StreamWriter fileLogWriter;
//Funzione di generazione File di Log
public static void AggiornaLog(string operazione)
{
try
{
using (fileLogWriter = File.AppendText(pathFileLOG))
{
fileLogWriter.WriteLine(DateTime.Now.ToString() + " : " + operazione);
}
}
catch (Exception e)
{
}
}
Questo funziona perfettamente, infatti se apro il file questo è corretto, mentre ho un'altro file, di una classe differente, dove devo memorizzare delle operazioni, ma questo ogni volta mi cancella i dati precedenti, ogni volta che chiudo e riapro l'applicazione.
Di seguito il codice dell'altra classe :
/Variabile per la gestione dell'inserimento da offline
private static string patchFileOffline = Path.Combine(Environment.CurrentDirectory, @"offline\", "OperazioneOffLine.txt");
private static StreamWriter fileOffLineWriter;
//Funzione che salva i dati dell'operazione conclusa in un file di testo
public static void NuovaOperazioneOffLine(string codiceFiscaleUtente, int quantitaMaterialeInserito, char bocchetta)
{
Log.AggiornaLog("Nuova operazione offline");
//Recupero la Data e Ora attuale
string dataOraString = DateTime.Now.ToString("yyyy-MM-dd H:mm:ss");
int idMaterialeTmp = 0;
//Recupero l'Id del materiale
switch (Impostazioni.tipo)
{...}
try
{
/*File.AppendAllLines(patchFileOffline, new string[]
{
"NUOVA OPERAZIONE",
"Data Inserimento=" + dataOraString + ";",
"Codice Fiscale Utente=" + codiceFiscaleUtente + ";",
"Numero Tessera=" + CodiceFiscale.IdentificativoTessera + ";",
"Identificativo Macchina;" + Impostazioni.idMacchina + ";",
"Identificativo Materiale=" + idMaterialeTmp + ";",
"Quantita Inserita=" + quantitaMaterialeInserito + ";",
"---"
});*/
using (fileOffLineWriter = File.AppendText(patchFileOffline))
{
fileOffLineWriter.WriteLine("NUOVA OPERAZIONE");
fileOffLineWriter.WriteLine("Data Inserimento=" + dataOraString + ";");
fileOffLineWriter.WriteLine("Codice Fiscale Utente=" + codiceFiscaleUtente + ";");
fileOffLineWriter.WriteLine("Numero Tessera=" + CodiceFiscale.IdentificativoTessera + ";");
fileOffLineWriter.WriteLine("Identificativo Macchina;" + Impostazioni.idMacchina + ";");
fileOffLineWriter.WriteLine("Identificativo Materiale=" + idMaterialeTmp + ";");
fileOffLineWriter.WriteLine("Quantita Inserita=" + quantitaMaterialeInserito + ";");
fileOffLineWriter.WriteLine("---");
}
Log.AggiornaLog("Creato log operazione offline");
}
catch (Exception e)
{
Log.AggiornaLog("Errore nella memorizzazione dati offline : " + e);
}
}
Ho provato diverse soluzioni, sbirciando qua e in la nel web, però ogni volta che avvio il programma il file si resetta.
Dove sbaglio?!?
Grazie a tutti quelli che sapranno aiutare perché proprio non ne vengo a capo!!