c#.net 读TXT文件

请教如何在C#.net中读取txt文件?我在百度找了以下代码测试后无显示内容不知道是为什么,大家帮我看下。================================... 请教如何在C#.net中读取txt文件?
我在百度找了以下代码测试后无显示内容不知道是为什么,大家帮我看下。
=========================================================
StreamReader str = File.OpenText("d:/tt.txt");
string line = null;
while ((line = str.ReadLine()) != null) //每次读取一行
{
Console.WriteLine(line);
}
str.Close();
TextBox1.Text = line;

======================================================

看下问题出在哪里?
展开
 我来答
AA5956
推荐于2016-05-23 · TA获得超过1869个赞
知道小有建树答主
回答量:705
采纳率:72%
帮助的人:470万
展开全部

1.添加命名空间

  System.IO;

  System.Text;

2.文件的读取

  (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出。

        byte[] byData = new byte[100];
        char[] charData = new char[1000];
        public void Read()
        {
            try
            {
                FileStream file = new FileStream("E:\\test.txt", FileMode.Open);
                file.Seek(0, SeekOrigin.Begin);
                file.Read(byData, 0, 100); //byData传进来的字节数组,用以接受FileStream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符.
                Decoder d = Encoding.Default.GetDecoder();
                d.GetChars(byData, 0, byData.Length, charData, 0);
                Console.WriteLine(charData);
                file.Close();
            }
            catch (IOException e)
            {
                Console.WriteLine(e.ToString());
            }
        }

(2).使用StreamReader读取文件,然后一行一行的输出。

public void Read(string path)
        {
            StreamReader sr = new StreamReader(path,Encoding.Default);
            String line;
            while ((line = sr.ReadLine()) != null) 
            {
                Console.WriteLine(line.ToString());
            }
        }

3.文件的写入
  (1).使用FileStream类创建文件,然后将数据写入到文件里。

public void Write()
        {
            FileStream fs = new FileStream("E:\\ak.txt", FileMode.Create);
            //获得字节数组
            byte[] data = System.Text.Encoding.Default.GetBytes("Hello World!"); 
            //开始写入
            fs.Write(data, 0, data.Length);
            //清空缓冲区、关闭流
            fs.Flush();
            fs.Close();
        }

(2).使用FileStream类创建文件,使用StreamWriter类,将数据写入到文件。

public void Write(string path)
        {
            FileStream fs = new FileStream(path, FileMode.Create);
            StreamWriter sw = new StreamWriter(fs);
            //开始写入
            sw.Write("Hello World!!!!");
            //清空缓冲区
            sw.Flush();
            //关闭流
            sw.Close();
            fs.Close();
        }
Jarhf
2008-12-10 · TA获得超过1862个赞
知道小有建树答主
回答量:1736
采纳率:25%
帮助的人:1028万
展开全部
while ((line = str.ReadLine()) != null)
这句话逻辑问题, str.ReadLine()读到文件结束肯定是 null,而它又把null赋值给line,显然最后什么都没有

可以这样写while (str.ReadLine() != null)
{
line += str.ReadLine();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
88421220
2008-12-10 · TA获得超过125个赞
知道答主
回答量:150
采纳率:0%
帮助的人:0
展开全部
你首先确定你的文件"d:\tt.txt"中有内容吗?
你的意思是说TextBox1中没有内容显示,对吗?

如果说你的"d:\tt.txt"中有内容,你看看这个循环:
while((line = str.ReadLine()) != null)
{
Console.WriteLine(line);
}
这个循环是读取文件中的内容,一直到读取的内容为空;也就是说
str.ReadLine() = null;就会跳出循环,当然line的值也为null;
最后你将line的值赋给TextBox1.Text;当然就没有任何显示拉~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自黄岐湾真诚的鲸鲨
推荐于2016-04-29 · TA获得超过449个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:241万
展开全部
//首先要确定文件路径正确
StreamReader sr = File.OpenText("文件路径");
string text=sr.ReadToEnd();//这个是把文件从头读到结尾
sr.Close();
TextBox1.Text = text;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小蕨菜
2008-12-10 · TA获得超过114个赞
知道答主
回答量:110
采纳率:0%
帮助的人:0
展开全部
你首先要确定你的地址是否正确,你写的当循环完就没有值了,你给textbox赋的是一个空值
StreamReader str = File.OpenText("d:/tt.txt");
string line = null;
string strnew="";
while ((line = str.ReadLine()) != null) //每次读取一行
{
strnew+="\r"+line; //这样就可以实现换行
}
str.Close();
TextBox1.Text = strnew;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式