2017-02-17 9 views
1

プログラミングでは新しいですが、これを手伝ってもらえますか?これを実行するたびにデータが複製されるので、今すぐ置き換えたい、またはただ更新したいからです。私のコードは..あなたがあなたのStreamWriterを構築しているときは、(ファイルの末尾に追加)追加することを指示していcsvデータの更新または置き換え方法#

StreamWriter writer = null; 
StringBuilder strbuilder = null; 
string dir = Application.StartupPath; 
if (!Directory.Exists(dir)) 
{ 
    Directory.CreateDirectory(dir); 
} 


string path = Path.Combine(dir, "test.csv"); 
strbuilder = new StringBuilder(); 
strbuilder.Append("\n"); 
foreach (var a in listofuser) 
{ 

    strbuilder.Append(a.SystemUserID.ToString() + "," + a.FullName.ToString() + "," + a.Department.ToString() +","+ Environment.NewLine); 

} 


writer = new StreamWriter(path, true); 
writer.Write(strbuilder); 
writer.Close(); 
+0

を参照してください、私は '(単純なアプローチは、メモリ内のコレクションにファイルの内容を読み取ることであろうと仮定リスト ')を編集し、そのコレクションで編集したいものを編集してから、すべてを新しいファイルに書き戻します(必要に応じて元のファイルを上書きします)。 – David

+0

質問は非常に広いです。どのくらいのデータを更新または置き換えたいですか?更新/変更の指示はどこから来ていますか? – jdweng

+0

私はそこにファイルの大部分を持っているので、プログラムを実行するたびに置き換えたり更新したりする必要があります –

答えて

2

ありがとうございます。上書きする(既に存在する場合はファイルを置き換える)ように思えます。

writer = new StreamWriter(path, false); 

ファイルが合理的に小さい(とCSVファイルが本当にあるべき)場合https://msdn.microsoft.com/en-us/library/36b035cb(v=vs.110).aspx

+0

ありがとうございます –

関連する問題