正由另一進程使用,因此該進程無法訪問該文件


原代碼如下:

static void Main(string[] args)
        {
            Directory.CreateDirectory(@"d:\ok");
            File.Create(@"d:\ok\abc.txt");
            string str = "sve";
            FileStream fs = null;
            try
            {
                //1、創建文件流(字節流)
                using (fs = new FileStream(@"d:\ok\abc.txt", FileMode.OpenOrCreate, FileAccess.Write))
                {
                    byte[] bytes = Encoding.Default.GetBytes(str);
                    //2、寫操作
                    fs.Write(bytes, 0, bytes.Length);             
                    fs.Flush();//清空流
                    Console.WriteLine("寫入成功!");
                }            
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                //3、關閉流
                fs.Close();
            }
        }

上面執行會出錯:文件“d:\ok\abc.txt”正由另一進程使用,因此該進程無法訪問該文件

原因:File.Create(@"d:\ok\abc.txt");這句代碼會返回一個FileStream流與該文件鏈接,因此被占用。

解決方法:將上面的代碼改為File.Create(@"d:\ok\abc.txt").Close();即可解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM