永发信息网

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

答案:1  悬赏:80  手机版
解决时间 2021-04-04 21:30
  • 提问者网友:皆是孤独
  • 2021-04-04 02:48
编译能通过,但是运行则出现异常,“文件“F:\\VStest\\file.txt”正由另一进程使用,因此该进程无法访问该文件。”
希望能给出错误原因及修改意见,谢谢。
static void Main(string[] args)

{

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

FileInfo myfile = new FileInfo(filepath);

myfile.Create();

myfile.Delete();

}
最佳答案
  • 五星知识达人网友:天凉才是好个秋
  • 2021-04-04 03:32
你这样写,出现这个错误是正常的!
原因是:
你使用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文件夹在创建文件的时候同时也会抱错!
因此在以后使用这个方法的时候注意下判断文件夹是否存在!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯