|
переход от ZipArchive в List <string>
|
|||
---|---|---|---|
#18+
Парсю xml файлы в куче папок следующим кодом Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Теперь появилась сложность - вместо папок стали архивы. Что бы посмотреть что внутри архива, использую вот такую штуку: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Проблема: как работать с этим? Либо переводить zip в удобную форму или сравнительную с массивом? Или просто с архивом работать и с файлами внутри него?... тогда как список файлов внутри архива считать и заглянуть в каждый из файликов? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 15:35 |
|
переход от ZipArchive в List <string>
|
|||
---|---|---|---|
#18+
bulaolen, Архив это одно. Парсить-искать это другое. Не совмещай. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 15:58 |
|
переход от ZipArchive в List <string>
|
|||
---|---|---|---|
#18+
bulaolen, тогда как список файлов внутри архива считать и заглянуть в каждый из файликов? ----- Вместо: Код: c# 1.
пользуй Код: c# 1.
Что делать с потоком сам должен знать. И, кстати, у тебя нет необходимости делать всю ту навигацию что ты делаешь для файлов - можно получить уже фильтрованный список файлов по маске в корневой и суб-директориях одним вызовом. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 16:13 |
|
переход от ZipArchive в List <string>
|
|||
---|---|---|---|
#18+
PinkCat, PinkCat пользуй Код: c# 1.
тут точно не опечатка? попробовал Код: c# 1.
и получил исключения: определения длинны, времени чтения и записи. Может быть есть другие варианты? Или варианты найти решение этой проблемки?:) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 10:17 |
|
переход от ZipArchive в List <string>
|
|||
---|---|---|---|
#18+
Попробовал вот так реализовать: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
Программа не находит файл внутри архива. Как же его открыть на чтение? (мне дальше надо будет работать с xml файлами) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 11:17 |
|
переход от ZipArchive в List <string>
|
|||
---|---|---|---|
#18+
bulaolen, Только что перепроверил - все работает - файле извлекся посредством потока. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Но ты, похоже, пользуешься чем-то другим. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 12:22 |
|
переход от ZipArchive в List <string>
|
|||
---|---|---|---|
#18+
PinkCat, о даа, я сейчас испытал кайф, потому что удалось значительно уменьшить код и он вдобавок заработал! у меня остался только дин вопрос - куда запись произошла внутрянки файла? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Вот в этом месте куда запись идет? Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 14:49 |
|
переход от ZipArchive в List <string>
|
|||
---|---|---|---|
#18+
PinkCat, переформулирую! Как сделать запись не в файл,а в строку для последующей работы? потому что у меня этих архивов больше 2000 и в каждом может быть от 0 до 500 xml файлов... лучше я потрачу время и оперативку, чем насоздаю 2000*500 файлов ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 14:59 |
|
переход от ZipArchive в List <string>
|
|||
---|---|---|---|
#18+
А есть ли необходимость вообще иметь одновременно все файлы распакованными и загруженными куда-либо? У меня была задача, где я перебирал папки, внутри них архивы, внутри них xml-файлы, внутри них искал узлы. Всё делалось через IEnumerable/yield return и в любой конкретный момент был открыт только один файл. Что касается - куда грузить результат: зачем его грузить в string или файл, если можно сразу открыть поток с помощью XDocument например... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 15:09 |
|
переход от ZipArchive в List <string>
|
|||
---|---|---|---|
#18+
Вот я и разобрался с этой темой! Что бы просмотреть все .zip файлы в директории нужны вот эти 3 строчки (+1 для того, что бы в него заглянуть отдельной процедурой) Код: c# 1. 2. 3. 4.
Далее процедура, проходящая через весь архив, и достающая от туда только .xml файлы и записывающий новый .txt файл с данными из всех .xml в архиве и называющимся как архив. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Где Код: c# 1.
- некоторая процедура обработки .xml файла, которая у каждого своя! Модератор: Отмечено как решение вопроса по просьбе автора :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 15:23 |
|
переход от ZipArchive в List <string>
|
|||
---|---|---|---|
#18+
bulaolen, а в строку для последующей работы? ----- Ну у тебя и вопросики, однако... Поток - получен - дальше крути его как тебе надо - в строку или непосредственно потоком... Код: c# 1.
or Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 15:34 |
|
|
start [/forum/topic.php?fid=20&fpage=22&tid=1399040]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 255ms |
total: | 389ms |
0 / 0 |