using (StreamReader srd = new StreamReader(fileName, System.Text.Encoding.Default))
            {
                while ((objet = srd.ReadLine()) != null)
                {
                    txtRead += objet + "\r\n";
                    rows++;
                }
                srd.Close();
            }如何以共享方式打开.txt文件

解决方案 »

  1.   

    谁告诉你StreamReader打开文件不是共享方式的?
      

  2.   

     FileStream fs = File.Open(file, FileMode.Open,FileAccess.Read,FileShare.Read);
     默认下打开的文件是被打开者拥有的, 而且是不分享的。
    using (StreamReader srd = new StreamReader(fs))
                {
                    while ((objet = srd.ReadLine()) != null)
                    {
                        txtRead += objet + "\r\n";
                        rows++;
                    }
                    srd.Close();
                }
      

  3.   

    public StreamReader(string path, Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize)
    {
        if ((path == null) || (encoding == null))
        {
            throw new ArgumentNullException((path == null) ? "path" : "encoding");
        }
        if (path.Length == 0)
        {
            throw new ArgumentException(Environment.GetResourceString("Argument_EmptyPath"));
        }
        if (bufferSize <= 0)
        {
            throw new ArgumentOutOfRangeException("bufferSize", Environment.GetResourceString("ArgumentOutOfRange_NeedPosNum"));
        }
        Stream stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, 0x1000, FileOptions.SequentialScan);
        this.Init(stream, encoding, detectEncodingFromByteOrderMarks, bufferSize);
    }