2012-02-27 6 views
-1

Je dispose d'un fichier csv à créer en deux étapes:comment lire/écrire un fichier en C# en même temps?

Dans la première étape, j'ajouter deux colonnes dans le fichier output.csv

col1,col2 
col1,col2 
... 

Ensuite, ajoutez deux colonnes dans la même sortie fichier .csv

col1,col2,col3,col4 
col1,col2,col3,col4 
... 

Parce que je ne peux pas combiner les deux étapes, je dois écrire dans le fichier, et d'écrire à nouveau depuis le début.

+0

Je voudrais utiliser un streamwriter – 0x4f3759df

+0

Question étrange. Une solution évidente, sans savoir pourquoi on l'a demandé, est d'écrire deux fichiers. –

Répondre

2
var stream = File.Open("output.csv", FileMode.OpenOrCreate, FileAccess.ReadWrite); 
// write file first time here. 
stream.Position = 0; 
// read stream again here. 
stream.Position = column3Position; 
// write additional columns in corresponding positions. 

Mais c'est une manière maladroite de faire les choses. Ne pouvez-vous pas créer une représentation du fichier csv dans un modèle d'objet (qui peut être ajouté à chaque étape de votre processus), puis le sérialiser sur le disque en même temps?

Questions connexes