2012-01-17 43 views
0

所有.Net File.WriteAllLines中的空行是一個錯誤?

這個問題是關係到兩種方法有System.IO.File:當我保存列表

File.WriteAllLines和File.ReadAllLines

[字符串]利斯塔使用

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

將會有一個空行附加到輸出文件。

所以每次我通過調用File.ReadAllLines加載這個文件,我總是會得到一個空行。

這很煩人,因爲我必須每次手動「刪除」它。

有沒有人遭受同樣的問題?你如何處理它?

感謝

+1

你確定'ListA'中的最後一項沒有'\ n'字符嗎? – Azodious 2012-01-17 10:56:44

+1

您確定ListA不包含空元素嗎? – Kane 2012-01-17 10:57:21

+0

嘗試輸出ListA.toArry到控制檯並查看它是否有任何換行符。 – 2012-01-17 11:09:15

回答

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()); – 2012-01-17 11:25:15

+0

@DuSijun:那麼沒有'toArry'這樣的方法,我懷疑這不是標準的'List '...或者你給我們提供了錯誤的代碼。你需要提供更多的上下文,但基本上我不認爲你應該責怪'File.WriteAllLines'或'File.ReadAllLines'。 – 2012-01-17 11:26:18

+0

對不起,這是ListA.ToArray(); – 2012-01-17 11:35:58

相關問題