相关文章推荐
健身的板凳  ·  双重差分能解决内生性问题吗?可是万一遗漏变量 ...·  1 年前    · 
奔放的熊猫  ·  ACCESS交叉表(行列互换)_access ...·  1 年前    · 
玩足球的闹钟  ·  presto sql concat ...·  1 年前    · 
怕老婆的咖啡  ·  斯诺克世锦赛:斯佳辉挺进16强 ...·  2 年前    · 
买醉的野马  ·  第 10 天 - Transforming ...·  2 年前    · 
Code  ›  C# 使用File.Create方法创建文件时,报进程被占用开发者社区
exists system
https://cloud.tencent.com/developer/article/1890505
小胡子的薯片
1 年前
作者头像
zls365
0 篇文章

C# 使用File.Create方法创建文件时,报进程被占用

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > CSharp编程大全 > C# 使用File.Create方法创建文件时,报进程被占用

C# 使用File.Create方法创建文件时,报进程被占用

作者头像
zls365
发布 于 2021-10-19 09:47:22
708 0
发布 于 2021-10-19 09:47:22
举报

在一个程序里偶然用了System.IO.File.Create去创建文件,运行时一直报错(进程被占用),后来在网上找到了解决办法,引用了一下。

winfrom中操作文件:

判断是否有当前的文件存在,不存在则进行创建,在进行操作;

if(!System.IO.File.Exists(fileName))
    System.IO.File.Create(fileName);
}

但是当我运行到发现没有当前的文件,就直接创建当前文件,之后直接进行操作,出问题了直接报出异常,当前文件正在另一个进程中使用……仔细一看 System.IO.File.Create(fileName)返回的类型是FileStream,ND文件流,文件流不关闭不出异常那才叫怪呢。

提供两种解决的方法:

方法一:

if(!System.IO.File.Exists(fileName))
    System.IO.File.Create(fileName).Close();
}

方法二:

if(!System.IO.File.Exists(fileName))
    using(System.IO.File.Create(fileName))
}

.Close 很关键,不然会有问题

以下是我的文件写入例程:

private void DataShow_v1(Byte[] recv,string filePath,string fileName)
            if (!Directory.Exists(filePath))
                Directory.CreateDirectory(filePath);
            if (!File.Exists(filePath+ "\\"+fileName))
 
推荐文章
健身的板凳  ·  双重差分能解决内生性问题吗?可是万一遗漏变量对政策前后的效果不同呢?这时候做出来的差分还是正确的吗? - 知乎
1 年前
奔放的熊猫  ·  ACCESS交叉表(行列互换)_access怎样交换两行位置_YoungHappyGIS的博客-CSDN博客
1 年前
玩足球的闹钟  ·  presto sql concat group by-掘金
1 年前
怕老婆的咖啡  ·  斯诺克世锦赛:斯佳辉挺进16强 4名种子选手出局-中新网
2 年前
买醉的野马  ·  第 10 天 - Transforming Observables (上) - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号