2012-01-17 2 views
0

すべて空の行.Net File.WriteAllLinesはバグですか?

この質問はSystem.IO.File内の二つの方法に関連している:私は

を使用して一覧[文字列] LISTAを保存すると

File.WriteAllLinesとFile.ReadAllLines

File.WriteAllLines("filename",ListA.ToArray()); 

出力ファイルに空の行が追加されます。

したがって、このファイルをロードするたびにFile.ReadAllLinesを呼び出すと、空の行が1つ増えます。

毎回手動で「削除」する必要があるので、迷惑です。

誰も同じ問題を抱えていますか?そしてそれをどのように扱いますか?

おかげ

+1

'ListA'の最後の項目に' \ n'文字がないことを確認してください。 – Azodious

+1

ListAに空の要素が含まれていませんか? – Kane

+0

ListA.toArryをコンソールに出力して、改行があるかどうかを確認してください。 –

答えて

2

いや、私はそれを再現することはできません。

using System; 
using System.Collections.Generic; 
using System.IO; 

class Test 
{ 
    static void Main() 
    { 
     string[] lines = { "first", "second", "third" }; 

     for (int i = 0; i < 10; i++) 
     { 
      File.WriteAllLines("test.txt", lines); 

      lines = File.ReadAllLines("test.txt"); 
      Console.WriteLine("Number of lines read: {0}", lines.Length); 
     } 
    } 
} 

それはおそらくあなたが線でをやっていることとは何かだようですね...これはあなたが避難所私たちは言った。

+0

私は文字列のリストを使用し、File.WriteAllLines( "filename"、ListA.toArry());で保存します。 –

+0

@DuSijun: 'toArry'のようなメソッドはありません。これは標準の' List 'ではないと思われます。より多くのコンテキストを提供する必要がありますが、基本的に私は 'File.WriteAllLines'または' File.ReadAllLines'を非難するべきではないと思います。 –

+0

申し訳ありませんがListA.ToArray(); –

関連する問題