10

StreamWriter.WriteLine (静的ではない) を使用して、一度に 1 行ずつ複数行を .txt ファイルに書き込もうとしています。

const string filename = "BasicTestInfo.txt";
        using (var writer = new StreamWriter(filename, false))
        {
            writer.WriteLine("{0} 350 200 200 10 2 28 20 200 2500 1200 1 1", Player1);
            writer.WriteLine("{0} 300 150 150 4 2 15 18 150 2500 1000 1 0", Player2);
            writer.WriteLine("{0} 200 140 450 25 14 10 70 4500 2500 750 1 1", Player3);
            writer.WriteLine("{0} 175 120 400 15 3 8 50 3000 2500 850 1 0", Player4);
            writer.WriteLine("{0} 300 100 300 8 1 4 30 1000 2500 1200 1 0", Player5);
            writer.WriteLine("{0} 450 310 450 20 5 5 35 1500 2500 700 1 1", Player6);
        }

各プレーヤー オブジェクトは文字列定数です。これを別のファイル名 (別名 BasicTestInfo2.txt) で実行すると、そのファイルが bin.Debug に作成されますが、空です。私は using ブロックの内部に到達していることを知っており (そこに Console.WriteLine を配置します)、切り捨てたいことを知っているため、追加に false を使用しています (ただし、false を true またはパラメーターなしに置き換えます)まったく問題を解決しません)。

基本的な問題は、ファイルが作成されても、ファイルにテキスト行がないことです。

4

4 に答える 4

6

ライターを閉じる

ライター.close();

それは私のために働いた。

于 2013-06-21T14:22:05.110 に答える
3

表示されているコードは問題ないようです。

推測する必要がある場合は、どこかで飲み込んでいる例外があると思われます (おそらく の危険なToString実装から)。Player

コードをステップ実行して、連続WriteLineするusing.

于 2012-12-23T09:40:44.977 に答える
-1

私は同様の問題を抱えていました。

この方法で修正しました。文字列を String.Format() に入れるだけです。

writer.WriteLine(String.Format("{0} 350 200 200 10 2 28 20 200 2500 1200 1 1", Player1));
于 2016-01-25T13:27:58.560 に答える