2013-09-25 172 views
1

我需要寫我的數組列表到一個文本文件,到目前爲止已經拿出這個代碼。 現在我很困惑如何使用textwriter將'行'寫入我的文本文件? 一個過程從下面的txt文件中加載列表。c#寫一個數組列表到一個文本文件

public void LoadArrayList() 
{ 
TextReader tr; 
tr = File.OpenText("C:\\Users\\Mirro\\Documents\\Visual Studio 2010\\Projects\\Assessment2\\Assessment2\\act\\actors.txt"); 
string line = tr.ReadToEnd(); 
Console.WriteLine(line); 
if (line != null) 
{ 
    ActorArrayList.Add(line); 
} 
else 

tr.Close(); 
} 

然後,我有一個將在我的窗體中填充組合框。

public void PopulateActors() 
{ 
    cboActor.Items.Clear(); 
    foreach (string line in ActorArrayList) 
     { 
      cboActor.Items.AddRange(File.ReadAllLines("C:\\Users\\Mirro\\Documents\\Visual Studio 2010\\Projects\\Assessment2\\Assessment2\\act\\actors.txt")); 
     } 
} 

和這個程序我需要它將我的整個數組「ActoryArrayList」寫入文本文件。

public void WriteArrayList() 
{ 

} 

對不起的是原本混亂。

回答

1
System.IO.File.WriteAllText("FILE_PATH", line); 

順便說一句,你的代碼中的ArrayList在哪裏?另外,考慮使用System.IO.File.ReadAllText("FILE_PATH")每天文件閱讀。

如果你要真正寫ArrayList磁盤文件,這將要求你先序列化ArrayList的內容也許XML或二進制等等,那麼你可以用上面的方法寫一個序列化表示形式爲文件。還要注意,序列化集合涉及一個概念,稱爲複製。 This question可以幫助你更好地理解這個概念。

6

與下面的代碼嘗試

 // Example #1: Write an array of strings to a file. 
     // Create a string array that consists of three lines. 
     string[] lines = { "First line", "Second line", "Third line" }; 
     // WriteAllLines creates a file, writes a collection of strings to the file, 
     // and then closes the file. 
     System.IO.File.WriteAllLines(@"C:\Users\Mirro\Documents\Visual Studio 2010\Projects\Assessment2\Assessment2\act\actors.txt", lines); 

OUTPUT:

 // First line 
    // Second line 
    // Third line 
1
File.WriteAllLines(filePath, ActorArrayList.ToArray()); 
1

最好的辦法是@萊茲的方式,但你也可以使用的TextWriter和foreach操作,使這個:

 //your array 
     string[] yourArray = { "fisrt", "second", "third" }; 
     string text = "C:\\Users\\Mirro\\Documents\\Visual Studio 2010\\Projects\\Assessment2\\Assessment2\\act\\actors.txt"; 
     using (TextWriter writer = File.CreateText(text)) 
     { 

      foreach (string i in yourArray) 
      { 
       writer.WriteLine(i); 
      } 
     } 
相關問題