回 帖 发 新 帖 刷新版面

主题:这个程序为什么只能读第一行

StreamReader str = new StreamReader(@"E:\yf\test.txt", Encoding.Default);

            string m;

            m = str.ReadLine();

            Console.WriteLine("{0}", m);



test.txt的内容是 3行的,上面的语句结果只输出一行;怎么办?

回复列表 (共5个回复)

沙发

ReadLine()只读一行,如果想读完全部来个循环:

string m;
while((m = str.ReadLine()) != null)
{
     Console.WriteLine("{0}",m);
}

板凳

我还有个办法,readtoend方法,嘿嘿,对象浏览器里找出来的,
另外谢谢1楼的回复

3 楼

StreamReader str = new StreamReader(@"E:\yf\test.txt", Encoding.Default);

            string m;

            m = str.ReadToEnd();

            Console.WriteLine("{0}", m);
这样就可以了

4 楼

不错,ReadToEnd()确实可以,它是读完全部数据流,但不是按行来读的!

5 楼

不按行读有什么缺陷么?

我来回复

您尚未登录,请登录后再回复。点此登录或注册