用StreamReader类的readline()方法当行数多的时候,出现数据丢失怎么办? 5
public static List<string> creatStringListByFile(string filepath)
{
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);
string content = "";
StringBuilder contents =new StringBuilder();
content = sr.ReadLine();
while (content != null)
{
contents .Append(content);
contents.Append(" ");
content = sr.ReadLine();
}
List<string> tokenstringlist = new List<string>();
tokenstringlist.AddRange(contents.ToString().Trim().Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries));
fs.Close();
sr.Close();
return tokenstringlist;
}
谁能试一下一个300行的准出错 展开
先占个楼.. 我试试
同学 我是对的- -|
我的环境是.net2.0
代码复制你的
如下
static void Main(string[] args)
{
List<string> list = creatStringListByFile("C:\\a.txt");
int i = 1;
foreach (string item in list)
{
Console.WriteLine((i++) + "\t" + item);
}
}
public static List<string> creatStringListByFile(string filepath)
{
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);
string content = "";
StringBuilder contents = new StringBuilder();
content = sr.ReadLine();
while (content != null)
{
contents.Append(content);
contents.Append(" ");
content = sr.ReadLine();
}
List<string> tokenstringlist = new List<string>();
tokenstringlist.AddRange(contents.ToString().Trim().Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries));
fs.Close();
sr.Close();
return tokenstringlist;
}
a.txt文件如下:
1111111111111
22222222222
3333333333
444444444
5555555555555
666666666
77777777
8888888888
1111111111111
22222222222
3333333333
444444444
5555555555555
666666666
77777777
8888888888
1111111111111
22222222222
3333333333
444444444
5555555555555
666666666
77777777
8888888888
1111111111111
22222222222
3333333333
444444444
5555555555555
666666666
77777777
8888888888
1111111111111
22222222222
3333333333
444444444
5555555555555
666666666
77777777
8888888888
读取的数据如下: 看图片
已测试 300没问题,3000没问题,30000也没问题.
int counter = 0;
string line;
// Read the file and display it line by line.
System.IO.StreamReader file = new System.IO.StreamReader(@"c:\zhidao.txt",System.Text.Encoding.Default);
while ((line = file.ReadLine()) != null)
{
System.Console.WriteLine(line);
counter++;
}
file.Close();
System.Console.WriteLine("There were {0} lines.", counter);
// Suspend the screen.
System.Console.ReadLine();
我在控制台试了试,读取c盘下的一个zhidao.txt文件并统计出行数
按行读取文本文件,这样就行了,不太明白你写的那个泛型是什么意思