通过实例分开后,我有这个内容的.txt文件:C#从文本文件获取数据用分号
Hello;Test;StackOverflow;I live here
Hi;NoTest;StackOverflow;I don't live here
等..
现在我想读txtfile,则但我不想读取“整个”行或 everthing ..只对下一个分号..直到一行的末尾..
一个StringVariable为一个Word在txtFile中,但只是一行..
我怎么能做到这一点?
通过实例分开后,我有这个内容的.txt文件:C#从文本文件获取数据用分号
Hello;Test;StackOverflow;I live here
Hi;NoTest;StackOverflow;I don't live here
等..
现在我想读txtfile,则但我不想读取“整个”行或 everthing ..只对下一个分号..直到一行的末尾..
一个StringVariable为一个Word在txtFile中,但只是一行..
我怎么能做到这一点?
您可以通过线这样的阅读文本行:
var streamReader = new StreamReader(new FileStream("c:\\file.txt"));
var line = streamReader.ReadLine();
var values = line.Split(';');
,然后读取线像这样的任何值:
var value = values[2];
如果你想要遍历throught这些值可以使它是这样的:
var streamReader = new StreamReader(new FileStream("c:\\file.txt"));
while(!streamReader.EndOfStream)
{
var line = streamReader.ReadLine()
var values = line.Split(';');
for(var i = 0; i < line.Length; i++)
Console.WriteLine(values[i]); //example usage
}
streamReader.Dispose();
谢谢4答案,我会试试看!如果它有效,我会将答案标记为已回答 – eMi
我从头后面写了这段代码,所以如果有东西不能编译,请让我知道。 –
那里有几个小问题 - 你的for循环是递增'line',而不是'i',并且'Lenght'上有一个错字。另外,我建议在StreamReader周围使用'using',以便它自动处理,并且我相信检查'streamReader.EndOfStream'是检查文件结尾是否稍好的方法。 –
为什么你不想读一整行?线路是否过长?即数百兆字节? –
那么你总是必须阅读/搜索分号。那么为什么不读整行然后拆分呢? – RvdK