首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C# FileStream 路徑傳入目錄導致存取被拒:需指定檔案名

     編輯:程式設計疑難解答

代碼:

string path = Application.StartupPath; // 取得目錄
FileStream so = new FileStream(path, FileMode.Create); // 錯誤:path 是目錄

錯誤:對路徑 "F:\...\Debug" 的存取被拒絕

原因

FileStream 需要**檔案路徑**,不能是目錄。對目錄開啟 FileMode.Create 會嘗試建立同名檔案,但目錄已存在同名導致存取拒絕。

修正

string filePath = Path.Combine(Application.StartupPath, "data.txt"); // 或 xxx.log
FileStream so = new FileStream(filePath, FileMode.Create);

補充

  • Path.Combine 自動處理路徑分隔符,跨平台安全。
  • FileMode.Create:建立新檔或覆蓋舊檔;FileMode.Append 續寫。
  • 用完記得 so.Dispose() 或 using 區塊。

「目錄 ≠ 檔案」是 IO 程式設計的基本常識。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved