使用方法: System.IO.File.Create()
文件创建后,它仍然由进程使用,我无法删除它.
任何想法我怎么能更好地创建文件,应该是一个0byte文件,然后以某种方式关闭和处置?
nik*_*d23 28
JL,
您应该在using语句中包含对.Create的调用,以便正确关闭.Create返回的FileStream.IE:
using (File.Create("path")){...}
Run Code Online (Sandbox Code Playgroud)
Guf*_*ffa 15
Create方法不仅创建文件,还会打开它并返回可用于写入文件的FileStream对象.
您必须自己关闭文件,否则在垃圾收集器清理FileStream对象之前不会关闭它.
最简单的方法是使用Create方法返回的引用简单地关闭文件:
File.Create(fileName).Close();
Run Code Online (Sandbox Code Playgroud)
Yoo*_*eek 12
nikmd23有简短的回答,长答案是:FileStream这File.Create(...)将返回不确定性正在布置的,因此它是当你试图将它删除文件句柄没有关闭.
正如nikmd23所说的那样,File.Create(...)用一个using语句包装你的调用将确保流被关闭并被处理掉:
using (FileStream fs = File.Create(path)) {
// do anything with the stream if need-be...
}
File.Delete(path); //after it's been disposed of.
Run Code Online (Sandbox Code Playgroud)
该using(...)块实际上只是编译器 - 糖:
FileStream fs = File.Create(path);
try {
// do anything with the stream if need-be...
}
finally {
fs.Dispose();
}
File.Delete(path)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14818 次 |
| 最近记录: |