整理代码
This commit is contained in:
@@ -32,89 +32,59 @@ namespace ConsoleApp2.Services
|
||||
}
|
||||
}
|
||||
}
|
||||
public override async Task<string[]> GetHeaders()
|
||||
public override async Task GetHeaderAndCsvFiles()
|
||||
{
|
||||
var text = await DecompressFile(_sqlFilePath);
|
||||
return await DumpDataHelper.GetCsvHeadersFromSqlFileAsync(text);
|
||||
headers=await DumpDataHelper.GetCsvHeadersFromSqlFileAsync(text);
|
||||
csvFiles=await DumpDataHelper.GetCsvFileNamesFromSqlFileAsync(text, new Regex(@"'.+\.dat.zst'"));
|
||||
|
||||
}
|
||||
public override async Task<string[]> GetCsvFiles()
|
||||
{
|
||||
var text = await DecompressFile(_sqlFilePath);
|
||||
return await DumpDataHelper.GetCsvFileNamesFromSqlFileAsync(text, new Regex(@"'.+\.dat.zst'"));
|
||||
}
|
||||
public override async Task DoEnqueue(Action<DataRecord> action)
|
||||
{
|
||||
var sourceFiles = await GetCsvFiles();
|
||||
var headers = await GetHeaders();
|
||||
foreach (var file in sourceFiles)
|
||||
await GetHeaderAndCsvFiles();
|
||||
foreach (var file in csvFiles)
|
||||
{
|
||||
var filePath = Path.Combine(_inputDir, file);
|
||||
using (var input = File.OpenRead(filePath))
|
||||
{
|
||||
using (var decopress = new DecompressionStream(input))
|
||||
using (var decopress = new DecompressionStream(input))
|
||||
{
|
||||
|
||||
var ms = new MemoryStream();
|
||||
decopress.CopyTo(ms);
|
||||
ms.Seek(0, SeekOrigin.Begin);
|
||||
StreamReader reader = new StreamReader(ms);
|
||||
while (!reader.EndOfStream)
|
||||
using( var reader = new StreamReader(decopress))
|
||||
{
|
||||
var line = await reader.ReadLineAsync();
|
||||
var fields = ParseRow2(line, QuoteChar, Delimiter);
|
||||
var record = new DataRecord(fields, _tableName, headers);
|
||||
action?.Invoke(record);
|
||||
while (!reader.EndOfStream)
|
||||
{
|
||||
var line = await reader.ReadLineAsync();
|
||||
var fields = ParseRow2(line, QuoteChar, Delimiter);
|
||||
var record = new DataRecord(fields, _tableName, headers);
|
||||
action?.Invoke(record);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//var headers = await GetHeaders();
|
||||
//using (StreamReader sr = new StreamReader(file))
|
||||
//{
|
||||
// while (!sr.EndOfStream)
|
||||
// {
|
||||
// var line = await sr.ReadLineAsync();
|
||||
// var fields = ParseRow2(line, QuoteChar, Delimiter);
|
||||
// var record = new DataRecord(fields, _tableName, headers);
|
||||
// action?.Invoke(record);
|
||||
// }
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
public override async Task<DataRecord?> GetTestRecord()
|
||||
{
|
||||
var sourceFiles = await GetCsvFiles();
|
||||
var file = sourceFiles.FirstOrDefault();
|
||||
await GetHeaderAndCsvFiles();
|
||||
var file = csvFiles.FirstOrDefault();
|
||||
if (file != null)
|
||||
{
|
||||
var headers = await GetHeaders();
|
||||
var filePath = Path.Combine(_inputDir, file);
|
||||
using (var input = File.OpenRead(filePath))
|
||||
{
|
||||
using (var decopress = new DecompressionStream(input))
|
||||
{
|
||||
|
||||
var ms = new MemoryStream();
|
||||
decopress.CopyTo(ms);
|
||||
ms.Seek(0, SeekOrigin.Begin);
|
||||
StreamReader reader = new StreamReader(ms);
|
||||
var line = await reader.ReadLineAsync();
|
||||
var fields = ParseRow2(line, QuoteChar, Delimiter);
|
||||
var record = new DataRecord(fields, _tableName, headers);
|
||||
return record;
|
||||
using (var reader = new StreamReader(decopress))
|
||||
{
|
||||
var line = await reader.ReadLineAsync();
|
||||
var fields = ParseRow2(line, QuoteChar, Delimiter);
|
||||
var record = new DataRecord(fields, _tableName, headers);
|
||||
return record;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//using (var fs = File.OpenRead(filePath))
|
||||
//{
|
||||
// using (StreamReader sr = new StreamReader(fs))
|
||||
// {
|
||||
// var line = await sr.ReadLineAsync();
|
||||
// var fields = ParseRow2(line, QuoteChar, Delimiter);
|
||||
// var record = new DataRecord(fields, _tableName, headers);
|
||||
// return record;
|
||||
// }
|
||||
//}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
Reference in New Issue
Block a user