Юрий Пономарев, консультант центра технической поддержки компании «
РДТЕХ»:
- Вот история из жизни разработчика. Запрос от клиента: «Уважаемые члены проекта, у нас есть файл, который хочется открыть вашей программой. Мы предполагаем, что в нем содержится, но не знаем, как с этим дальше поступить. Считаем информацию из файла полезной. Просим оценить трудоемкость обработки таких файлов вашей программой».
Бизнес-аналитики говорят, что исполнить запрос нельзя. Менеджер обещает премию тому, кто это откроет. Гугление по заголовкам файла каждый день приносит разный результат. Средства Windows не помогают понять содержимое. Средства сортировки падают при попытке его отсортировать. Средства распознавания форматов говорят, что там минимум 15 различных файлов. При передаче по сети корпоративный антивирус сходит с ума. На архив файла ругаются все почтовые системы, но он сжимается в 10 раз легко.
Старый разработчик пишет:
public static void main(String[] s) throws Exception{
VTDGenHuge vgh = new VTDGenHuge();
if (vgh.parseFile("C://TEMP//file_big",true,VTDGenHuge.MEM_MAPPED)){ VTDNavHuge vn = vgh.getNav();
AutoPilotHuge aph = new AutoPilotHuge(vn); aph.selectXPath("//company/@Name");
int i = 0;
while ((i=aph.evalXPath())!=-1){
System.out.println(" element name is "+vn.toString(i));
}
}
}
По имени компании разработчик находит ее почту, пишет письмо и выясняет, что это - вордовый файл с корпоративной отчетностью, который почему-то поместили в виде слайд-шоу в jpeg, а потом - несколько раз скопировали в XAML.
Вот поэтому трудность не в том, чтобы скачать файл, отключить антивирус или даже придумать применение данным. Самое сложное - не тратить на ненужные задачи драгоценные ресурсы. А если и тратить, то с умом.