if (!File.Exists("test.txt))
                            {
                                File.Create(test.txt");
                                
                            }
                            FileStream fs = new FileStream("test.txt", FileMode.Append,FileAccess.Write,FileShare.ReadWrite );
                            byte[] b = Encoding.Default.GetBytes("test.......\r\n");
               
                            fs.Write(b, 0, b.Length);
                            fs.Flush();
                            fs.Close();比如说,文件不存在的时候 它新建了这么一个文件,但当它准备写的时候却提示 别一个程序或进程在使用,我该 怎么弄才对?

解决方案 »

  1.   

    if (!File.Exists("test.txt"))
                                {
                                    File.Create("test.txt");
                                    
                                }
                                FileStream fs = new FileStream("test.txt", FileMode.Append,FileAccess.Write,FileShare.None);
      

  2.   

    不行的呀 还是会出错 File.Create("test.txt"); 这一句建了一个文件后,下面的FileStream fs = new FileStream("test.txt", FileMode.Append,FileAccess.Write,FileShare.None); 去读写马上就说另一个程序在使用.......
      

  3.   

    try:if (!File.Exists("test.txt"))
                                {
                                    File.Create("test.txt");
                                    
                                }
                                using(FileStream fs = new FileStream("test.txt", FileMode.Append,FileAccess.Write,FileShare.ReadWrite ))
    {
                                byte[] b = Encoding.Default.GetBytes("test.......\r\n");
                   
                                fs.Write(b, 0, b.Length);
                                }
      

  4.   

    在File.Create("test.txt");和FileStream fs = new FileStream(...);
    之间建一个空的StreamWriter sw = new StreamWriter("test.txt", true, Encoding.UTF8);
     sw.write("");
     sw.close();
    代码能通过   不过还是想知道如何直接File.close
      

  5.   

    试了下不创建文件直接写,真的可以
    有文件名才能用File.Create("test.txt")的吧