Я пытаюсь прочитать содержимое текстовых файлов, которые могут или не могут быть помещены в папку. Я использую библиотеку DotNetZip для достижения этой цели.
Структура выглядит примерно так
Условие1:
ZipFile/Folder(any name)/List of TXT Files.
Условие 2:
ZipFile/List of TXT Files.
Все текстовые файлы содержат одну строку числовых данных, которая выглядит примерно так:
ABC.txt
1000232
1212154
4454457
Мне также нужен список этих номеров из всех файлов TXT в одном столбце таблицы данных
Это то, что я пробовал до сих пор.
string pathtoZip = pathtotheZipfile;
using (var zip = ZipFile.Read(pathtoZip))
{
int totalEntries = zip.Entries.Count;
ZipEntry e = null;
foreach (ZipEntry f in zip.Entries)
{
if (f.FileName.Contains("/"))
{
e = f;
break;
}
}
if (e.IsDirectory && e != null)
{
}
else
{
foreach (ZipEntry g in zip.Entries)
{
}
}
}
Для преобразования текстового файла в таблицу DaTaTable
public DataTable TexttoDataTable(string NewFilePath)
{
DataTable dt = new DataTable();
var lines = File.ReadAllLines(NewFilePath);
dt.Columns.Add();
for (int i = 1; i < lines.Count(); i++)
{
DataRow dr = dt.NewRow();
string[] values = lines[i].Split(new char[] { ' ' });
if (values.Length<=1)
{
values = lines[i].Split(new char[] { ',' });
}
for (int j = 0; j < values.Count(); j++)
dr[j] = values[j];
dt.Rows.Add(dr);
}
return dt;
}
Zip может иметь только одну папку, но имя папки может отличаться.