0

I can't seem to get the following code to work:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace TechKit
{
   class CsvWriter
   {
      public static void csvLogWrite(string ADName, string LogTimeStamp, string LogEntry, string ATOW, string SSC, string Specialty)
      {
         string dirPath = Path.GetDirectoryName(Properties.Settings.Default.TechKitSDFLocation);
         dirPath = Path.Combine(dirPath, "Logs", DateTime.Now.Year.ToString());

         try
         {
            // Determine whether the directory exists. 
            if (Directory.Exists(dirPath))
            {
               Console.WriteLine("Log Path Exisits - Using It");
               return;
            }

            // Try to create the directory.
            DirectoryInfo di = Directory.CreateDirectory(dirPath);
            Console.WriteLine("The Log directory was created successfully at {0}.", Directory.GetCreationTime(dirPath));

         }

         catch (Exception e)
         {
            Console.WriteLine("The directory creation process failed: {0}", e.ToString());
         }

         finally { }

         string newFileName = DateTime.Now.Month.ToString() + ".csv";
         string combinedPath = Path.Combine(dirPath, newFileName);
         string logDetails = LogTimeStamp + "," + Specialty + "," + ADName + "," + LogEntry + Environment.NewLine;

         if (!File.Exists(combinedPath))
         {
            string logHeader = "Timestamp,Specialty,Name,Log Entry" + Environment.NewLine;
            File.WriteAllText(newFileName, logHeader);
         }

         File.AppendAllText(combinedPath, logDetails);
         Console.WriteLine("Data Written To CSV FIle:");
         Console.WriteLine(logDetails);
         Console.WriteLine("****************************");
      }
   }
}

The code fires an exception when it tries to write the non-existant directory. I get:

'A first chance exception of type 'System.NotSupportedException' occurred in mscorlib.dll'

in the console also. I'm a relative newbie, so I am at a loss. I can write a file just fine, just not create a directory.

Thanks...

4

1 回答 1

1

检查目录路径,然后检查它的读/写权限。

然后使用类似这样的代码

DirectoryInfo dir = new DirectoryInfo(dirPath);

or 

System.IO.Director.CreateDirectory("Path to directory" ) 
于 2013-06-22T04:56:02.777 回答