if (!File.Exists(@"Application\\CodeExport.txt"))    //判断TXT文件是否存在
                {
                    File.Create(@"Application\\CodeExport.txt");    //创建TXT文件
                }                FileStream fs = new FileStream(@"Application\\CodeExport.txt", FileMode.Append);
                //FileStream fs = File.OpenWrite(@"Application\\CodeExport.txt");
                StreamWriter sw = new StreamWriter(fs, Encoding.Default);
                if (this.rbOK.Checked)
                    sw.WriteLine(this.strExternorderKey + "," + this.strSku + "," + this.strBarCode_1 + "," + this.strBarCode_2);
                else if (this.rbNO.Checked)
                    sw.WriteLine(this.strExternorderKey + "," + this.strSku + "," + this.strBarCode_1 + "," + this.strBarCode_1);
                sw.Close();
                fs.Close();
这是我在TXT文件写信息的代码
当在Application文件下没有CodeExport.txt文件时,会自动创建CodeExport.txt文件,然后在对文件写信息,这个时候,就老是报错:“进程无法访问文件,\Application\CodeExport.txt,原因是另一个进程正在使用该文件”,出这样的问题。
如果是CodeExport.txt文件存在的话,写的时候就没有问题的
就是CodeExport.txt文件不存在的时候,创建后再写就老出那问题
麻烦各位帮下下啦!

解决方案 »

  1.   

    \Application\CodeExport.txt要用全名,绝对路径
    @"c:\Application\CodeExport.txt";
      

  2.   

    判断 文件是否存在
    如果文件存在 用FileMode.Open
    否则用FileMode.Create 
      

  3.   

    判断 文件是否存在 
    如果文件存在 用FileMode.Append
    否则用FileMode.Create 
    应该是这样 去试试 
      

  4.   

    File.Create 本身就会返回一个FileStream, 
    FileStream fs = File.Open(@"Application\\CodeExport.txt", FileMode.Append);    //创建或打开TXT文件// 这个删掉 FileStream fs = new FileStream(@"Application\\CodeExport.txt", FileMode.Append);
      

  5.   

    FileStream fs = new FileStream(@"Application\\CodeExport.txt", FileMode.Append);
    这个句本身就是包括检查和创建,何必前面再检查呢?