Voici comment je le fais:C#: FileStream.Read() ne lit pas le fichier jusqu'à la fin, mais retourne 0
static void Main(string[] args)
{
string FileName = "c:\\error.txt";
long FilePosition = 137647;
FileStream fr = new FileStream(FileName, FileMode.Open);
byte[] b = new byte[1024];
string data = string.Empty;
fr.Seek(FilePosition, SeekOrigin.Begin);
UTF8Encoding encoding = new UTF8Encoding();
while (fr.Read(b, 0, b.Length) > 0)
{
data += encoding.GetString(b);
}
fr.Close();
string[] str = data.Split(new string[] { "\r\n" }, StringSplitOptions.None);
foreach (string s in str)
{
Console.WriteLine(s);
}
Console.ReadKey();
}
Le tableau str se termine par ces lignes:
***** Histoire pour T5-2847880-18 main (TOURNOI: S-976-46079) *****
main Début: 11 Aug Mar 18:14
mais il y a plus lignes dans le fichier.
J'ai uploadé error.txt à SendSpace: http://www.sendspace.com/file/5vgjtn Et voici la sortie complète de la console: the_same_site/fichier/k05x3a
S'il vous plaît aider! Je suis vraiment désemparé ici. Merci d'avance!
Merci beaucoup pour la réponse si détaillée! File.ReadAllLines ne me convient pas car le fichier peut devenir très volumineux et nécessiter beaucoup de traitement pour trouver la ligne dont j'ai besoin. Créer un StreamReader à partir d'un FileStream est exactement ce que j'ai cherché. Encore merci! –