コード例 #1
0
        public static void Export_PowerViewCSV(Args_Export_PowerViewCSV args = null)
        {
            if (args == null)
            {
                args = new Args_Export_PowerViewCSV();
            }

            var OutputPath = Path.GetFullPath(args.Path);
            var Exists     = File.Exists(OutputPath);

            // mutex so threaded code doesn't stomp on the output file
            var Mutex = new System.Threading.Mutex(false, "CSVMutex");

            Mutex.WaitOne();

            FileMode FileMode;

            if (args.Append)
            {
                FileMode = System.IO.FileMode.Append;
            }
            else
            {
                FileMode = System.IO.FileMode.Create;
                Exists   = false;
            }

            var CSVStream = new FileStream(OutputPath, FileMode, System.IO.FileAccess.Write, FileShare.Read);
            var CSVWriter = new System.IO.StreamWriter(CSVStream);

            CSVWriter.AutoFlush = true;

            var csv = ToCsv <object>(args.Delimiter.ToString(), args.InputObject);

            CSVWriter.Write(csv);

            Mutex.ReleaseMutex();
            CSVWriter.Dispose();
            CSVStream.Dispose();
        }
コード例 #2
0
 public static void Export_PowerViewCSV(Args_Export_PowerViewCSV args = null)
 {
     ExportPowerViewCSV.Export_PowerViewCSV(args);
 }