How can i read data from .txt file using c#?
本问题已经有最佳答案,请猛点这里访问。
我想从特定路径读取数据,但程序只读取第一行。我的程序从用户那里获取数据并保存在int.txt文件中,然后我想在分隔符之间显示所有内容。输入
1 | 1@aaa@bbbb@2@c@f@3@r@t |
输出
1 2 3 4 5 6 7 8 9 10 11 | Id:1 Name:aaa Address:bbbb Id:2 Name:c Address:f Id:3 Name:r Address:t |
这是我的代码:主要的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
班
1 2 3 4 5 6 | public void Display_data() { Console.WriteLine(ID); Console.WriteLine(Name); Console.WriteLine(Address); } |
你需要移除
1 | break; |
号
在条件和移动时编辑
1 2 | sd.Close(); fs.Close(); |
退出while循环。
所以你的while循环应该是这样的
1 2 3 4 5 6 7 8 9 10 11 | while (!sd.EndOfStream) { s = sd.ReadLine(); field = s.Split(std.delimiter); std.ID = field[0]; std.Name = field[1]; std.Address = field[2]; std.Display_data(); } sd.Close(); fs.Close(); |
。
读取行,使用"@"拆分,然后读取3个行项目并打印出行项目。
1 2 3 4 5 6 7 8 9 10 11 12 | using(StreamReader oReader = new StreamReader(@"E: ewfolder\a\test.txt")) { string [] sLineItems = oReader.ReadLine().Split('@'); for(int i = 0;i < sLineItems.Length; i = i+3) { Console.WriteLine("Id:{0}",sLineItems[i]); Console.WriteLine("Name:{0}",sLineItems[i+1]); Console.WriteLine("Address:{0}",sLineItems[i+2]); } } |