0

FileStream クラスを使用してリソース ファイルを開きたいと考えています。これはテキスト ファイルで、1 行ずつ読みたいと思っています。

FileStream fs = new FileStream(Properties.Resources.Testing, FileMode.Open, FileAccess.Read);

呼び出された例外はSystem.ArgumentException無効な文字があると言っています。

誰かがこれを修正するのを手伝ってくれることを願っています。または、より良い方法があればそれも問題ありませんが、.exe にファイルが必要なので、リソースである必要があります..

4

1 に答える 1

2

テキスト ファイルをリソースとして追加すると、文字列として埋め込まれます。そのため、FileStream コンストラクター呼び出しは、テキスト ファイルの内容と同じ名前のディスク上のファイルを開こうとしていると想定します。もちろん、それはうまくいきません。

本当にストリームが必要かどうかはあまり明確ではありません。文字列はそのままでよい傾向があります。String.Split() メソッドを使用して行に分割することを検討してください。または、StringReader クラスが好きなので、ReadLine() を使用できます。

    using (var rdr = new StringReader(Properties.Resources.Testing)) {
        string line;
        while ((line = rdr.ReadLine()) != null) {
            // Do something with line
            //...
        }
    }
于 2015-01-05T23:30:38.847 に答える