2013-09-18 1 views
1

Решение найдено.Zip File Entry имеет расширение пользовательского файла. C# утверждает, что он не может открыть

Благодаря всем, кто мне помогает, я узнал, в чем была проблема с корнем. Файл .trl не имел к этому никакого отношения. Это был неправильный путь. Я делал «TRLR» + Path, когда это должно было быть «TRLR» + fileName. Это была глупая ошибка с моей стороны, и я приношу извинения за то, что тратил ваше время, но я ценю помощь!


У меня есть почтовый файл, предоставленный нам третьим лицом. В этом zip-файле находятся пользовательские файлы. Это всего лишь текстовые файлы с другим расширением, которое, как я полагаю, просто расстраивает меня.

Я пытаюсь открыть эти файлы в своем приложении C#, но он продолжает бросать ошибку, что формат не поддерживается.

Поскольку это только текстовые файлы, я считаю, что для этого должно быть что-то.

Если у кого-либо есть идеи, пожалуйста, дайте мне знать.

Код:

using (ZipArchive archive = ZipFile.OpenRead(_trailerName)) 
{ 
    ZipArchiveEntry entry = archive.GetEntry(tableChanged + ".trl"); 
    Stream ms = entry.Open(); //Here is what's causing the issue. 
    StreamReader reader = new StreamReader(ms); 
    string allLinesRead = reader.ReadToEnd(); 
    string[] everyCell = allLinesRead.Split('|'); 
    int numRecords = Convert.ToInt32(everyCell[1]); 
    int numChanged = getRecordNum(tableChanged); 
    Console.Write(numRecords + "/" + numChanged + " - " + tableChanged); 
    if (numChanged != numRecords) 
    { 
      _errorMessage += "Records updated do not match trailer. (" + numRecords + "/" + numChanged + ") Please check database. Table affected: " + tableChanged + Environment.NewLine; 
    } 
} 

Ошибка:

The given path's format is not supported.

Я знаю, что это конкретно, но мне нужен совет о том, какие шаги я могу предпринять, чтобы решить эту проблему.

Спасибо.

+0

Откройте файл в своем любимом текстовом редакторе (например, блокнот ++), начинается ли файл с 'PK'? – paqogomez

+0

Это не так. Он открывается точно так же, как и любой другой текстовый файл. –

+1

Начните с открытия WinZip и извлеките все файлы. –

ответ

1

Настраиваемая zip-функция .NET часто отсутствует с точки зрения возможности обработки и изменения zip-файлов, созданных приложениями, отличными от инструмента zip окна. Хотя файл «zip» стандартизирован, вы по-прежнему видите приличное количество изменений в заголовках и атрибутах файлов.

Я предлагаю вам изучить DotNetZip (Ionic), которая является сторонней библиотекой, обладающей очень надежными возможностями с точки зрения создания и открытия zip-файлов. Я обнаружил, что он намного более прощающий и способный, чем базовая функциональность, которую дает .NET, а код для открытия zip очень похож на то, что у вас есть.

+0

Он может открыть zip-файл просто отлично, это файл, который находится в zip-файле, который вызывает проблемы. –

+0

Глупый вопрос, но вы пытались открыть эти файлы в блокноте, чтобы убедиться, что файл на самом деле отформатирован правильно? – Feussy

+0

Я открылся в блокноте и блокноте ++ и возвышенном тексте. Он открывается просто отлично, и показывает, что именно я хочу –

 Смежные вопросы

  • Нет связанных вопросов^_^