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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我的专属 中级黑马   /  2014-3-16 19:20  /  1593 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

.把csv文件中的联系人姓名和电话显示出来。简单模拟csv文件,csv文件就是使用,分割数据的文本,输出: 姓名:张三  电话:15001111113
string[] lines = File.ReadAllLines(“1.csv”,Encoding.Default);//读取文件中的所有行,到数组中。

7 个回复

倒序浏览
  1. string[] sn = new string[] { "张三,15001111113", "李四,15001111114", "王五,15001111115" };
  2.             foreach (string s in sn)
  3.             {
  4.                 Console.WriteLine("姓名:" + s.Split(',')[0] + "  电话:" + s.Split(',')[1]);
  5.             }
复制代码
回复 使用道具 举报
我试着把它当成txt读取,失败了。百度了一下,貌似csv功能很强大……同样很好奇,期待着有大牛来解决。
回复 使用道具 举报
额,可以用文件流来读取啊。
  1. string path = @"C:\Users\Administrator\Desktop\1.csv";
  2.             //使用文件流
  3.             using(FileStream fsRead=new FileStream(path,FileMode.Open,FileAccess.Read))
  4.             {
  5.                 byte[] buffer = new byte[1024 * 1024];//创建缓存区
  6.                 int r = fsRead.Read(buffer, 0, buffer.Length);//流中实际读出来的字节数
  7.                 string str = System.Text.Encoding.Default.GetString(buffer, 0, r);//把缓存区的实际字节转换为字符串
  8.                 Console.Write(str);
  9.             }
  10.             Console.ReadKey();
复制代码
回复 使用道具 举报
System.IO 命名空间是专门用来读写文件的.lz不会是不是应为没加命名空间.
回复 使用道具 举报
为什么我这样读出来是乱码呢?
FileStream fs = new FileStream("../../1.csv", FileMode.Open);//创建文件读取流,第一个参数为文件路径,第二个为打开方式
            StreamReader myReader = new StreamReader(fs);//文件读取器
            myReader.BaseStream.Seek(0, SeekOrigin.Begin);//设置文件开始读取位置
            string sLine;

            while ((sLine = myReader.ReadLine()) != null)//每次读一行,直到文件结束
回复 使用道具 举报
贰的23次方 发表于 2014-3-18 10:47
为什么我这样读出来是乱码呢?
FileStream fs = new FileStream("../../1.csv", FileMode.Open);//创建文 ...

第二行试试加上Encoding参数 StreamReader myReader = new StreamReader(fs,Encoding.UTF8);//文件读取器
回复 使用道具 举报 1 0
我保存1.csv的时候是按ANSI编码,后来改成UTF8就成功了
string[] strArry = new string[3];
            while ((sLine = myReader.ReadLine()) != null)//每次读一行,直到文件结束
            {
                strArry = sLine.Split(',');
                Console.WriteLine(strArry[0]+","+strArry[1]);
               
            }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马