在c#中将时间戳附加到csv文件

时间:2018-03-08 23:45:02

标签: c# datetime

我试图通过在文件名末尾附加时间戳来生成唯一的csv文件。

但由于某种原因,csv文件没有生成。

String path= @"C:\\Users\Isuruh\source\repos\WindowsService1\WindowsService1\bin\Debug\data.csv";
                   FileInfo info = new FileInfo(path);
        bool exists = info.Exists;
                library.WriteErrorLog(exists.ToString());
                // Upload data from file
           -->     string result = "data_" + DateTime.Now.ToFileTime() + ".csv"; 

               if(exists == true)
                    {
                         File.Delete(Path.GetFileName(path));
                sqlRun();
            File.WriteAllText(@"C:\\Users\Isuruh\source\repos\WindowsService1\WindowsService1\bin\Debug\**result**", csv.ToString());


                    }
               else
                    {

                sqlRun();
                      File.WriteAllText(@"C:\\Users\Isuruh\source\repos\WindowsService1\WindowsService1\bin\Debug\**result**", csv.ToString());


                    }

        }

1 个答案:

答案 0 :(得分:2)

我认为您忘记了将文件夹路径和预期文件名组合起来

这里你的代码被重构(未经测试):

var folder = @"C:\\Users\Isuruh\source\repos\WindowsService1\WindowsService1\bin\Debug\";
var path = Path.Combine(folder, "data.csv");
FileInfo info = new FileInfo(path);
bool exists = info.Exists;
library.WriteErrorLog(exists.ToString());

// Upload data from file
var result = "data_" + DateTime.Now.ToFileTime() + ".csv";
var fullResultPath = Path.Combine(folder, result);

if(exists)
{
    // Do you really want to delete the data.csv file ?
    File.Delete(path);
}

sqlRun();
File.WriteAllText(fullResultPath, csv.ToString());