日期:2014-05-17  浏览次数:20833 次

C#读取CSV文件时提示文件正由另一进程使用,因此该进程无法访问该文件
      StreamReader reader = new StreamReader(dataPath);
      reader.Peek();
      while (reader.Peek() > 0)
      {
          string str = reader.ReadLine();
          string[] split = str.Split(',');
      }

C#读取CSV文件时在第一句提示文件正由另一进程使用,因此该进程无法访问该文件,我也确实打开了,如果局域网其他用户打开了会不会受影响?有没有那种不受影响的读取方法,比如只读方式。
StreamReader

------解决方案--------------------
估计是Encoding不对,用这个构建StreamReader对象

StreamReader Constructor (Stream, Encoding)
第二个参数,试一试unicode, utf8 GB2312等。
------解决方案--------------------
用目前操作系统的编码
StreamReader reader =new StreamReader(data,System.Text.Encoding.Default)