在c#webservice代码中创建文件后,我无法打开文件。 该目录最初不存在。所以程序会创建目录和文件。然后尝试打开文件写一行。但它无法打开文件。错误是文件在另一个进程中打开。
我试图从Windows资源管理器中打开该文件。该文件打开但仍然出现错误消息。 我试图删除文件夹C:\ Test,它说文件打开是在 WebDev.WebDevServer40.exe
请帮助。
[WebMethod]
public string saveFileUploaderName(string name)
{
string path = "c:\\Test";
string filename = "Test.txt";
string completeFileName = Path.Combine(path,filename);
if(!File.Exists(completeFileName))
{
Directory.CreateDirectory(path);
File.Create(completeFileName);
}
StreamWriter writer = File.AppendText(completeFileName);
writer.WriteLine(name);
writer.Flush();
writer.Close();
return "success";
}
答案 0 :(得分:2)
File.Create返回一个流,但您要丢弃它。 所以(我想!)您需要使用返回的流,或者在尝试打开同一个文件的新流之前显式关闭它。
答案 1 :(得分:1)
您需要关闭该文件,请尝试:
File.Create(completeFileName).Close();
答案 2 :(得分:0)
如果文件不存在,这将创建文件。
您的代码就像
一样简单[WebMethod]
public string saveFileUploaderName(string name)
{
string path = "c:\\Test";
string filename = "Test.txt";
string completeFileName = Path.Combine(path,filename);
File.AppendAllText(completeFileName, name);
return "success";
}