Ecriture dans un binarywriter qui ne commence pas au début
Bonjour
Je tente de faire une moulinette qui me crée un fichier par champ contenu dans un fichier CSV.
J'ouvre donc le fichier CSV, je récupère le nombre de champ et leur nom puis je fais ceci (pour tester la création des fichiers)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| List<BinaryWriter> ListWriter = new List<BinaryWriter>(); //création d'une liste de binarywriter pour créer autant de fichiers qu'il y a de champ data dans le CSV
int i = 0;
for (i=1 ; i<=NbChamps ; i++) //création des binarywriter
{
string fileName = Properties.Settings.Default.CheminTravail.ToString() + "\\" + i.ToString() + "-" + tabNom[i].ToString() + ".txt";
BinaryWriter writer = new BinaryWriter(File.Open(fileName, FileMode.Create)) ;
ListWriter.Add(writer);
}
for (i = 0; i < NbChamps; i++) // Remplissage des binarywriter
{
String test = "Hello world " + i.ToString();
ListWriter[i].Seek(0, SeekOrigin.Begin); // on part du début du fichier
ListWriter[i].Write(test);
}
for (i = 0; i < NbChamps; i++) // destruction des binarywriter
{
ListWriter[i].Close(); // fermeture
ListWriter[i].Dispose(); // libération des ressources
}
ListWriter.Clear(); |
Malgré la ligne avec "Seek", le "Hello world" ne s’écrit pas au début du fichier. Sur les 14 fichiers .txt que je crée, tous ont un(plusieurs?) caractères bidons écrits avant le "H".
Le seek ne change rien en fait.
A quoi cela est il du ? Comment dois je faire pour le faire partir proprement du début ?
PS : je n'ai pas mis le préfixe "débutant" parce que avoir réussi à créer dynamiquement ces binarywriter est un exploit pour moi ; je me prends pour un bon du coup pour quelques instants...
Merci par avance