我需要创建/附加一个文本文件并在其中写入一些数据.当我将下面的代码写入我的ASP.NET应用程序时,它会给出另一个进程正在使用该文件的错误.
if (!File.Exists(path\file))
File.CreateText(path\file);
using(StreamWriter sw = File.AppendText(Server.MapPath(path\file)))
{
sw.WriteLine("Text Data");
sw.Close();
}
Run Code Online (Sandbox Code Playgroud)
如果另一个进程对你想要的文件有一个独占锁,除了强行删除文件的所有句柄或者杀死进程之外,几乎没有什么可以做的,除了这两个进程都会导致未定义的行为(由另一个进程)具有独占锁定的程序).
你也应该
如果您确定只有您的代码访问此文件,只需返回并确保关闭完成之前打开的文件的所有句柄.
如果您还没有这样做(我们没有看到您的所有代码),您需要关闭File.CreateText()调用中的打开文件句柄,因为它会返回一个打开文件句柄StreamWriter.
您必须在下面的代码中创建这样的文件,并在创建后关闭该文件.
if (!File.Exists(""))
{
StreamWriter sr = File.CreateText("");
sr.Close();
}
Run Code Online (Sandbox Code Playgroud)
从MSDN看一下这个例子.这将向您展示如何创建文本文件.
或者,您可以这种方式创建文本文件; 以下代码来自MSDN
if (!File.Exists(path))
{
// Create a file to write to.
using (StreamWriter sw = File.CreateText(path))
{
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4019 次 |
| 最近记录: |