check point
This commit is contained in:
48
framework/Inspectron.Statistics/CsvStatistics.cs
Normal file
48
framework/Inspectron.Statistics/CsvStatistics.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System.Globalization;
|
||||
using CsvHelper;
|
||||
|
||||
namespace Inspectron.Statistics;
|
||||
|
||||
public class CsvStatistics
|
||||
{
|
||||
private readonly string _filePath;
|
||||
private readonly StreamWriter _stream;
|
||||
private readonly FileStream _fileStream;
|
||||
private readonly CsvWriter _csv;
|
||||
|
||||
public CsvStatistics(string filePath, string[] headers)
|
||||
{
|
||||
_filePath = filePath;
|
||||
var newFile = !File.Exists(filePath);
|
||||
_fileStream = File.Open(_filePath, FileMode.Append);
|
||||
_stream = new StreamWriter(_fileStream);
|
||||
_csv = new CsvWriter(_stream,CultureInfo.InvariantCulture);
|
||||
if (newFile)
|
||||
{
|
||||
foreach (var header in headers)
|
||||
{
|
||||
_csv.WriteField(header);
|
||||
}
|
||||
_csv.NextRecord();
|
||||
_csv.Flush();
|
||||
}
|
||||
}
|
||||
|
||||
public void WriteLine(string[] values)
|
||||
{
|
||||
for (int i = 0; i < values.Length; i++)
|
||||
{
|
||||
_csv.WriteField(values[i]);
|
||||
}
|
||||
_csv.NextRecord();
|
||||
_csv.Flush();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_csv.Dispose();
|
||||
_stream.Dispose();
|
||||
_fileStream.Dispose();
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user