A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 酱悠先生 中级黑马   /  2014-4-12 16:45  /  2144 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么读取TXT文本里的数据

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

7 个回复

倒序浏览
//从文本文件读取数据,返回值为string数组,每一个元素是一行
string[] strArray = File.ReadAllLines(@"写上你TXT文档的位置", Encoding.Default);

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
文件流 stream  或者 filestream  或者File.Open()方法.但是要引用system.io命名空间
回复 使用道具 举报
用File类,该类存在于System.IO命名空间下,所以在使用的时候需要先引入该命名空间,Using System.IO;
然后调用File.ReadAllLines(path,Encoding.Default),此处的Path可以是相对路径或者绝对路径,记得用@取消转义,后面Encoding.Default是识别中文,如果不加的话你读到的将会是乱码

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
1)专门针对字符的方法:StreamReader
实例:
using(StreamReader sr=new StreamReader(@"C:\Users\Administrator\Desktop\面向对象的复习.txt",Encoding.Default))
{
    string s= sr.ReadToEnd();//从流的当前位置到末尾读取所有字符
    Console.WriteLine(s);
}

PS. StreamReader(@"C:\Users\Administrator\Desktop\面向对象的复习.txt",Encoding.Default)的通式为:
StreamReader(“TXT文本的相对路径或绝对路”,选择编码格式)
2)通用方法:FileStream
实例:
using (FileStream fsRead = new FileStream(@"C:\Users\Administrator\Desktop\面向对象的复习.txt", FileMode.Open, FileAccess.Read))
{
    //创建1M的缓冲区
    byte[] buffer = new byte[1024 * 1024];
    string str = "";//接收字符串
    while (true)
    {
        //表示这次实际读取到的有效字节数
        int r = fsRead.Read(buffer, 0, buffer.Length);
       //当能读到数据的时候
        if(r>0)
        {
            str += System.Text.Encoding.Default.GetString(buffer, 0, r);
        }
       //否则跳出死循环
        else
        {
            break;
        }
    }

Console.WriteLine(str);
}
PS.只需要把路径给改了就OK了。

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
学习 路过
回复 使用道具 举报
那个点名神器就用的这个吧
回复 使用道具 举报
这样都给一个技术分
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马