Windows服务中找不到文件异常

时间:2013-07-09 07:33:20

标签: c# .net windows-services filenotfoundexception

我在Windows服务中编写了以下代码。当我尝试保存zip文件时,我收到了一个File Not Found Exception。我在zipFile.AddFile中获取文件名。

System.IO.MemoryStream ms1 = new System.IO.MemoryStream();
System.IO.StreamWriter writer = new System.IO.StreamWriter(ms1, Encoding.UTF8);

string strHeader = "";
if (FailedErrorLogList != null && FailedErrorLogList.Any())
{
   strHeader += "file_name" + ",";
   strHeader += "mobile_no" + ",";
   strHeader += "Description" + ",";
   writer.WriteLine(strHeader);
   foreach (Transactionapierrorfailedlog ErrorLog in FailedErrorLogList)
   {
      string strRowValue = "";
      strRowValue += Escape(ErrorLog.file_name) + ",";

      strRowValue += Escape(ErrorLog.mobile_no) + ",";

      strRowValue += Escape(ErrorLog.Description) + ",";

      writer.WriteLine(strRowValue);
      // writer2.WriteLine(strRowValue);
   }
   writer.Flush();
   ms1.Position = 0;
}

String filename = "Hello.csv";

if (FailedErrorLogList != null && FailedErrorLogList.Any())
{
   ZipFile zipFile = new ZipFile();
   using (zipFile)
   {
      zipFile.AddFile(filename);
      zipFile.Save("Hello.zip");

   }
}

2 个答案:

答案 0 :(得分:0)

您的服务流程的“当前目录”不是您期望的那样(实际上,它很可能不是您的.exe的路径 - 它可能类似于c:\windows\system32)。您始终需要准确指定(绝对路径)您要在哪里创建文件以及从哪里读取。

答案 1 :(得分:0)

使用 System.Windows.Forms.Application.StartupPath 而不是 Enviroment.CurrentDirectory