C#中文件创建与删除问题

编译能通过,但是运行则出现异常,“文件“F:\\VStest\\file.txt”正由另一进程使用,因此该进程无法访问该文件。”希望能给出错误原因及修改意见,谢谢。sta... 编译能通过,但是运行则出现异常,“文件“F:\\VStest\\file.txt”正由另一进程使用,因此该进程无法访问该文件。”
希望能给出错误原因及修改意见,谢谢。
static void Main(string[] args)

{

string filepath = @"F:\\VStest\\file.txt";

FileInfo myfile = new FileInfo(filepath);

myfile.Create();

myfile.Delete();

}
展开
 我来答
匿名用户
2013-09-25
展开全部
你这样写,出现这个错误是正常的!
原因是:
你使用Create()方法返回的是一个filestream对象。
你这里没有关闭这个流就对它进行删除!这个时候Delete()方法自然会将抛出一个IOException异常。
这个就好像你在操作windows系统时候,你打开了一个文件,而你又去删除它,结果就出现了删除不了的错误。这是一个道理。
解决的方法是:
string filepath = @"F:\\VStest\\file.txt";
FileInfo myfile = new FileInfo(filepath);
FileStream fs= myfile.Create();
fs.Close();
myfile.Refresh();
myfile.Delete();
代码进行这样修改下就可以了。你可以去试下。

注意:对于使用Create()方法的时候,如果你没有VStest文件夹在创建文件的时候同时也会抱错!
因此在以后使用这个方法的时候注意下判断文件夹是否存在!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式