所以我尝试在使用部分之外的StreamReader中显示我的数据。我能够将它显示在StreamReader的所有INSIDE中,但是显示StreamReader的OUTSIDE更加复杂。
我知道我在StreamReader中的while循环将显示我需要的所有数据(并且它是)。但是我需要它从底部的for循环中显示出来。 (虽然循环仅作为参考)。
当我通过for循环运行时,我得到了 “结束 结束 结束 结束” 要么 “结束 的 记录 指示符“
当我在for循环中使用数组索引号时,我得到“结束”,当我使用“i”时,我得到“结束记录”。
如何让它显示我的while循环显示的内容?
class Program
{
static void Main(string[] args)
{
string[] lineOutVar;
using (StreamReader readerOne = new StreamReader("../../FileIOExtraFiles/DataFieldsLayout.txt"))
{
string lineReader = readerOne.ReadLine();
string[] lineOutput = lineReader.Split('\n');
lineOutVar = lineOutput;
while (readerOne.EndOfStream == false)
{
lineOutVar = readerOne.ReadLine().Split();
Console.WriteLine(lineOutVar[0]);
}
}
for (int i = 0; i < lineOutVar.Length; i++)
{
Console.WriteLine(lineOutVar[0]);
}
答案 0 :(得分:0)
使用List类。
List<string> lineOutVar = new List<string>();
using (System.IO.StreamReader readerOne = new System.IO.StreamReader("../../FileIOExtraFiles/DataFieldsLayout.txt"))
{
while(readerOne.EndOfStream == false)
{
string lineReader = readerOne.ReadLine();
lineOutVar.Add(lineReader); //add the line to the list of string
}
}
foreach(string line in lineOutVar) //loop through each of the line in the list of string
{
Console.WriteLine(line);
}
答案 1 :(得分:0)
获取内容:
string[] lineOutVar;
List<string[]> lst_lineOutVar = new List<string[]>();
using (StreamReader readerOne = new StreamReader("E:\\TEST\\sample.txt"))
{
string lineReader = readerOne.ReadLine();
string[] lineOutput = lineReader.Split('\n');
lineOutVar = lineOutput;
while (readerOne.EndOfStream == false)
{
lineOutVar = new string[1];
lineOutVar = readerOne.ReadLine().Split();
lst_lineOutVar.Add(lineOutVar);
//Console.WriteLine(lineOutVar[0]);
}
String getcontent = string.Empty;
foreach (var getLst in lst_lineOutVar)
{
getcontent = getcontent + "," + getLst[0].ToString();
}
Console.WriteLine(getcontent);
}
答案 2 :(得分:0)
您也可以跳过StreamReader并使用File.ReadAllLines
:
string[] lineOutVar = File.ReadAllLines("../../FileIOExtraFiles/DataFieldsLayout.txt");
现在你有一个文件行数组,你可以循环它们并按你喜欢的方式拆分它们。