-1

キリル文字を含むいくつかのファイルを操作する必要があり、Visual Studio 2012 Ultimate でStreamReader/を使用しています。StreamWriter

しかし、ばかげた問題 (または私の誤解) があります。次のコンストラクターは問題なく動作します。

using (StreamReader reader = new StreamReader(someFile, Encoding.Default)){
}

それでも、次のことを試すと:

using (StreamWriter writer = new StreamWriter(someOtherfile, Encoding.Default)){
}

無効なコンストラクターのコンパイル時エラーが発生します。ただし、MSDN の仕様には次のように記載されています。

public StreamWriter(Stream stream, Encoding encoding);

私は何を間違っていますか?

4

1 に答える 1

5

と の違いを見るとStreamWriter、次のコンストラクターがあることStreamReaderがわかります。

StreamReader(string, Encoding)

のコンストラクターはありません

StreamWriter(string, Encoding)

私の推測では、someFileandの型someOtherFilestringではなくStreamです。

またEncoding.Default、すべての Unicode を処理できない可能性があるプラットフォーム固有のデフォルト エンコーディングが本当に必要な場合を除き、使用しないことをお勧めします。可能であれば、代わりに UTF-8 を使用してください。

于 2013-01-31T14:09:01.493 に答える