예제 #1
0
        /// <inheritdoc />
        /// <summary>
        /// Serializes to file.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="list">The list.</param>
        /// <param name="fullFilePath">The full file path.</param>
        /// <param name="mode">The mode.</param>
        public void SerializeToFile <T>(IEnumerable <T> list, string fullFilePath, FileOption option) where T : class
        {
            list.IsNullThrow(nameof(list));
            fullFilePath.IsNullThrow(nameof(fullFilePath));
            option.IsNullThrow(nameof(option));
            var a = new FileObject(fullFilePath);

            if (option == FileOption.DoNothingIfExist)
            {
                if (a.Exist == true)
                {
                    return;
                }
            }
            using (var sw = a.GetStreamWriter(false))
            {
                var csv = new CsvWriter(sw, Configuration);
                csv.WriteRecords(list);
            }

            // using (var stream = a.GetFileStream(mode))
            // {
            //     SerializeToStream(list, stream);
            // }
        }