Ciao
Non c'è un modo diretto per inserire del testo all'inizio di un file, quello che devi fare è creare un file temporaneo dove scrivi il testo da inserire in cima al file, e poi ci ricopi il file da modificare, quindi sostituisci il file originale con quello temporaneo.
Ecco un esempio di codice:
// Il file da modificare e il file temporaneo
string input = @"C:\input.txt";
string tempf = Path.GetTempFileName();
// Apre il file da modificare in lettura
using (FileStream file = new FileStream(@"C:\input.txt", FileMode.Open, FileAccess.Read))
{
// Apre il file temporaneo in scrittura
using (StreamWriter tmpw = new StreamWriter(tempf))
{
// Scrive sul file temporaneo la stringa da inserire
tmpw.WriteLine("Stringa da inserire");
tmpw.Flush();
// Il buffer dove leggere i dati del primo file
byte[] buffer = new byte[10240];
int read;
// Legge tutti i dati fino alla fine del file
while ((read = file.Read(buffer, 0, 10240)) > 0)
{
// E li ricopia sul file temporaneo
tmpw.BaseStream.Write(buffer, 0, read);
}
}
}
// Sposta il file temporaneo sul file da modificare
File.Replace(tempf, input, null);
Si potrebbe fare anche senza file temporaneo, lavorando direttamente sul file da modificare, ma la faccenda si complicherebbe un pochino...
Luca