C# 在隔离中创建和打开文件会引发 IOException
本文关键字:文件 IOException 隔离 创建 | 更新日期: 2023-09-27 18:31:36
我做了这个小程序来演示我的问题。 它创建文件,然后尝试在同一地址打开它。路径上的 IOException 共享冲突在尝试打开文件时引发。为什么会这样?我可以看到正在创建该文件。
using System;
using System.IO;
namespace FileTestProject
{
class MainClass
{
private static string address = "/Users/jamessullivan/Desktop/testFile.dat";
public static void Main ()
{
File.Create(address);
FileStream file = File.Open(address, FileMode.Open);
}
}
}
您可以看到查看文档的问题。
虽然你的例子毫无意义,但这里有一个问题的解释。
Create.File(string)
返回FileStream
,其中包含称为文件句柄的非托管资源,因此您无法创建另一个应保存相同句柄的FileStream
。
因此,您应该在重用资源后释放资源。
这是一个简单的结论:
using(File.Create(address))
{}
using(FileStream file = File.Open(address, FileMode.Open)
{
}