Автор Тема: Обработка больших файлов  (Прочитано 1342 раз)

SirPotato

  • Newbie
  • *
  • Сообщений: 1
    • Просмотр профиля
Обработка больших файлов
« : Апрель 26, 2014, 11:09:42 pm »
Имеется список из 6 000 замен(455 000 символов) и файл в 20 000 строк(1 800 000 символов). Обрабатывать такие массивы программа, как я понял, не способна. Господа, что делать?

Arex

  • Jr. Member
  • **
  • Сообщений: 54
    • Просмотр профиля
Re: Обработка больших файлов
« Ответ #1 : Апрель 27, 2014, 05:44:30 am »
Лично у меня до сих пор со всем справлялась. Точно не уверен, что были конкретно подобные объёмы одновременно, но файлы я обрабатывал и побольше, а списки замен превышали тысячу строк. Если зависания и были, то это бывало в 2-х случаях:
- были неправильно составленные замены
- использовалась опция "повторять пока есть что заменять", которую пока не стоит использовать ввиду слабой оптимизации.

От себя могу дать пару рекомендаций:

Работать лучше всего в режиме командной строки.

Если программа всё же зависает, стоит разделить список замен на несколько для лучшего контроля: возможно где-то там есть замена с ошибкой, это поможет установить её положение да и вообще лучше контролировать, работает ли программа или зависла. Названия файлов замен можно загонять в отдельный файл (Filelist.txt) в нужной последовательности, а потом просто "скормить" их всех через BAT-файл (пути, разумеется, надо подставить свои):
@echo off
::Папка со списками замен (полный путь)
set "ChangeLists=D:\Projects\ChangeLists"
::Путь к обрабатываемому файлу
set "FilePath=D:\Projects\Sample\Sample.txt"
::Путь к программе UV FilesCorrector
set "UVFC=D:\Programs\UV FilesCorrector\UV FilesCorrector.exe"
for /f %%i in (Filelist.txt) do (
  echo %FilePath% > current.txt
  "%UVFC%" current.txt "%ChangeLists%\%%i"
  echo Canges list file %%i has been successfully completed!
)
PAUSE
« Последнее редактирование: Апрель 27, 2014, 05:53:24 am от Arex »