2013-09-25 123 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); 
      } 
     } 
相关问题