示例#1
0
        // CTOR
        public OutputFile(string filename, string path = null, bool addTimestamp = true, bool append = false)
        {
            if (path == null)
            {
                path = GFile.ExePath;
            }

            string pathname = GFile.GetDfCsvPathname(filename, path, addTimestamp, append);

            //m_writer = new StreamWriter(pathname, append);

            if (append)
            {
                m_writer = new StreamWriter(pathname, append: true);
                m_csv    = new CsvWriter(m_writer);
            }
            else
            {
                m_writer = new StreamWriter(pathname, append: false);
                //string headers = this.CsvHeaders;
                //m_writer.WriteLine(headers);
                m_csv = new CsvWriter(m_writer);
                m_csv.WriteHeader <T>();
                m_csv.NextRecord();
            }
        }
        // CTOR
        public InputFile(string filename, string path = null, bool addTimestamp = false)
        {
            string pathname;

            if (path == null)
            {
                pathname = Path.Combine(GFile.ExePath, filename);                   // this adds nothing to the filename
            }
            else
            {
                pathname = GFile.GetDfCsvPathname(filename, path, addTimestamp);    // this automatically adds ".DF.csv" to the filename
            }
            try
            {
                m_reader = new StreamReader(pathname);
                m_csv    = new CsvReader(m_reader);

                // TODO: FIX THE READING OF HEADERS AND SUBSEQUENT RECORDS!!!
                //string headers = this.CsvHeaders;
                //string headers = m_reader.ReadLine();
                m_csv.Read();
                m_csv.ReadHeader();
            }
            catch (Exception ex)
            {
                Console.WriteLine("ERROR: {0}\nPress any key (Ctrl-C to exit)", ex.Message);
                Console.ReadKey();
            }
        }