Чтение информации в текстовом файле в архиве c#
Нужно прочитать информацию в .txt файле в архиве формата .rar, .zip.
Ответы (1 шт):
Автор решения: Jlovenpk1
→ Ссылка
Можно попробовать так.
Это тестовый вариант, его нужно допиливать.
class ReadTxtInZip
{
string _zipPath = @"D:\1.zip"; // путь до архива
string _pathTxt = @"D:\"; // куда будет грузить файл из архива
string _nameFile = "1.txt"; // текстовый документ его имя
string _word = "Test"; // переменная которую записываем
public void workWithZip()
{
using (ZipArchive archive = ZipFile.Open(_zipPath, ZipArchiveMode.Update)) // открываем архив в режиме Update(Запись/Чтение)
{
archive.ExtractToDirectory(_pathTxt); // выгружаем файл из архива
using (StreamWriter sw = new StreamWriter(_pathTxt+_nameFile, false, System.Text.Encoding.UTF8)) // открываем файл
{
sw.WriteLine(_word); // записываем переменную
}
archive.CreateEntryFromFile(_pathTxt + _nameFile, _nameFile); // загружаем файл обратно в архив
}
}
public void workWithZip2()
{
try
{
using (ZipArchive archive = ZipFile.Open(_zipPath, ZipArchiveMode.Update)) // открываем архив в режиме Update(Запись/Чтение)
{
archive.ExtractToDirectory(_pathTxt); // выгружаем файл из архива
using (StreamWriter sw = new StreamWriter(_pathTxt + _nameFile, false, System.Text.Encoding.UTF8)) // открываем файл
{
sw.WriteLine(_word); // записываем переменную
}
archive.CreateEntryFromFile(_pathTxt + _nameFile, _nameFile); // загружаем файл обратно в архив
}
}
catch (Exception ex)
{
Console.WriteLine("Произошла ошибка: "+ex.Message);
}
finally
{
Console.WriteLine("Устраните ошибку и нажмите кнопку, что бы продолжить!");
Console.ReadKey();
workWithZip2();
}
}
}
Код на гите: тык