【发布时间】:2017-07-02 10:31:22
【问题描述】:
运行此 newFile 方法时出现错误:
class logFile
{
public static string logpath = @"D:\Program Files\CustomApps\DataFeed\";
public static void log(string log)
{
string timestamp = DateTime.Now.ToString("yyyy_MM_ddTHH_mm_ss");
Console.WriteLine(timestamp + log);
File.AppendAllText(logpath + @"log_file_current.txt", timestamp + log + Environment.NewLine);
}
public static void newFile()
{
if (File.Exists(logpath + @"log_file_current.txt") == true)
{
File.Move(logpath + @"log_file_current.txt"
, logpath + @"log_files\log_file_ORPHANED_" + DateTime.Now.ToString("yyyy_MM_ddTHH_mm_ss") + ".txt");
}
try
{
File.Create(logpath + @"log_file_current.txt");
logFile.log("logFile created.");
}
catch(System.NotSupportedException ex)
{
Console.WriteLine(ex.Message);
}
}
}
我收到以下错误:
如果我将“newFile”代码的主体注释掉,那么它运行时不会出错,但是我需要手动存档。如果我注释掉 File.Move 部分,一切运行良好,所以这是罪魁祸首。
如何释放文件以便移动它?
【问题讨论】:
-
这显然是一个文件锁定问题,因为你试图调用“log”和“newFile”方法。因此,请解释您要使用“newFile”方法实现的目标。如果您需要归档属于“上一个日期”的日志,您需要有一个机制来检查当前日期和上一个日期之间的差异。
-
您正在处理很多与错误无关的内容。太好了……谢谢?
-
但是说真的,反对票是怎么回事?我编写了自己的代码,并明确说明了我的问题。这完全是 SO 的用途。如果我知道 c#,我就不会在这里了。
标签: c#