我想带一个包含很多行的文本文件并将其转换为数组。例如,如果文本文件是:
第1行
第2行
第3行
第4行
这将导致
string[] stringList = { "Line 1", "Line 2", "Line 3", "Line 4" };
我该怎么做?
我试过这个:
string line;
string[] accountList;
using (StreamReader file = new StreamReader(accountFileLocation.Text))
{
while (line = file.ReadLine() != null)
{
stringList += line;
}
}
然而,错误:
无法将类型'bool'隐式转换为'string'
无法将'string'类型转换为'string []'
无法将类型'string'隐式转换为'string []'
答案 0 :(得分:7)
只需使用
string[] lines = File.ReadAllLines(yourpathFile);
答案 1 :(得分:0)
我将向您介绍我遇到的解决方案,了解了Google在寻找解决方案方面的重要技能。
如果您使用Google“如何在c#中打开文本文件”,则可以找到此网页http://msdn.microsoft.com/en-us/library/db5x7c0d(v=vs.110).aspx 它在一个示例中使用了一个名为'StreamReader'的类及其方法'ReadToEnd()'。
如果您继续使用Google的'c#StreamReader',您可以找到它的所有方法http://msdn.microsoft.com/en-us/library/system.io.streamreader(v=vs.110).aspx
如果向下滚动到R方法,可以找到一个名为“ReadLine”的方法。通过单击它,您可以找到您需要的实际示例: http://msdn.microsoft.com/en-us/library/system.io.streamreader.readline(v=vs.110).aspx
string path = @"c:\temp\MyTest.txt";
using (StreamReader sr = new StreamReader(path))
{
while (sr.Peek() >= 0)
{
Console.WriteLine(sr.ReadLine());
}
}
答案 2 :(得分:0)
你可以试试这个:
StreamReader reader = new StreamReader();
String content = file.readToEnd();
file.close();
String[] lines = content.split("\n".toCharArray());
答案 3 :(得分:0)
试试:
string n = "line1\r\nline2\r\n";
string[] list = n.Split('\r'); //or string[] list = n.Split('\n')