2012-01-28 21 views
1

テキストファイルを書き込んでいますが、その前と後にファイルには変更されない行がたくさんありますが、ストリームリーダーは特殊文字("')の両方のC#のテキストボックスに、メモ帳のようにファンキーなダイヤモンドを表示され、他の文字に。どのように完全に変更されていないファイルの読み取り/書き込み操作を通過し得るテキストことができます?ありがとう。C#Streamreader:特殊文字 ""などの処理

StreamWriter sw = new StreamWriter(sOutputFileName); 
using (StreamReader sr = new StreamReader(sTempFileName)) 
{ 
    while (sr.Peek() >= 0) 
    { 
     rdBuffer = sr.ReadLine(); 
     txtProgressDisplay.Text += rdBuffer + "\r\n"; 

     // parse and process some lines here 

     wrBuffer = rdBuffer; 
     sw.WriteLine(wrBuffer); 
     txtProgressDisplay.Text += wrBuffer + "\r\n"; 
    } 
    sr.Close(); 
} 
sw.Close(); 
+0

[StreamReader奇妙なエラーの ](http://stackoverflow.com/questions/8128199/streamreader-weird-error-with) – GSerg

+0

'StreamReader'はそのようなことをしません - あなたは正しいエンコーディング? – BrokenGlass

+0

ファイルがワープロによって作成されていない限り、それらはまったく特殊文字ではありません。六角ビューアを使用してファイルを見て、それらの文字に対して見た16進コードを文書化します。 –

答えて

2

あなたの問題は何かのようですエンコーディング付き

1)テキストビューあなたの.NETアプリケーション(おそらくUTF-8?)と同じエンコーディングを使用しています。

2).NETアプリケーションと同じエンコーディングを使用してファイル自体が作成されているかどうかを確認してください(異なるエンコーディングの文字を混在させていますか?)。

+0

はい、正解に感謝しています。 ASCIIコードで問題を修正しました。 (もちろん、私は他のUnicode、UTF8、Defaultを試しました)私のテストファイルには偽のコード体系があるようです。迅速な対応に感謝します。 –

+0

問題ありません!幸運:) –

3

私はあなたが、Encoding.UTF7などを使用することができます

StreamReader sr = new StreamReader(sTempFileName, System.Text.Encoding.ASCII); 

、正しいエンコーディングを渡し、あなたのStreamReaderを作成してみてください問題は、などの文字エンコーディング、すなわちUTF8、ASCII、UTF7、に関連して、ほぼ確信しています

+0

はい、あなたは正解に感謝しています。 ASCIIコードで問題を修正しました。 (もちろん、私は他のUnicode、UTF8、Defaultを試しました)私のテストファイルには偽のコード体系があるようです。迅速な対応に感謝します。 –