чтение общего текста - PullRequest
       11

чтение общего текста

1 голос
/ 27 ноября 2009

Я работаю над проектом, в котором мне нужно прочитать какой-нибудь общий текст ... Я ищу любой API, который я могу читать общий текст, а также могу конвертировать его в файл .csv ... Может ли кто-нибудь PLZ помочь ... использование Java на ОС Windows ...

-------------------------- ПОДРОБНЕЕ ------------------- -------------------------------------------------- ------------------ позвольте мне уточнить:

Предположим, у меня есть документ в формате pdf или документ любого типа. Я намерен использовать опцию «Печать на общий текстовый принтер» и получить файл в этом формате. Наконец, я собираюсь использовать некоторый API, который позволит мне программно читать этот файл общего текстового формата. Я намерен извлечь текст из этого общего текстового файла.

Итак, будь то любой файл (.doc / .pdf / .xls и т. Д. Wtatever), я намерен создать файл общего текстового формата, используя опцию печати. Затем запустите мой код, чтобы прочитать эти файлы и извлечь некоторую информацию.

PS: Предположим, у меня есть форма отчета о состоянии со стандартными полями. Хорошо. Но некоторые люди могут представить в .pdf, некоторые в .doc, некоторые в текстовом формате. Но каждый документ содержит одни и те же поля, но, возможно, с разными форматами.

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

Ответы [ 4 ]

1 голос
/ 27 ноября 2009

В Java это более или менее то, что вам нужно для чтения текстового файла, при условии, что он разделен запятыми (просто измените строку в методе "line.split", если вам нужно что-то еще). Также пропускает заголовок.

    public void parse(String filename) throws IOException {
        File file = new File(filename);
        FileInputStream fis = new FileInputStream(file);
        InputStreamReader isr = new InputStreamReader(fis);
        BufferedReader br = new BufferedReader(isr);
        String line;
        int header = 1;
        while ((line = br.readLine()) != null) {
            if (header == 1) {
                header = 2;
                continue; // skips header
            }
            String[] splitter = line.split(",");
                    // do whatever
                    System.out.println(splitter[0]);
        }
    }
1 голос
/ 27 ноября 2009

CSV - это формат данных в столбцах. Это не очень полезно, скажем, для статьи в Википедии.

Библиотека Apache Tika возьмет все виды данных и превратит их в простой XML, из которого вы можете создавать CSV по своему усмотрению.

Будет полезно, если вы отредактируете свой вопрос, чтобы уточнить «общие» по сравнению с «сгенерированными» и рассказать больше о данных.

Что касается драйверов принтера для Windows, вы хотите сделать что-то вроде «print to pdf» как «print to csv»? Если это так, я подозреваю, что вам нужно начать с MSDN-примеров драйверов принтеров и выполнить сложный код.

Так называемый «общий формат текстового файла» не является структурированным форматом. Это абсолютно непредсказуемо, что вы найдете там для любого данного ввода в систему принтера.

0 голосов
/ 27 ноября 2009

Просто использовали стандартные классы Java для ввода / вывода:

BufferedWriter, Файл, FileWriter, IOException, PrintWriter

.csv - это просто файл значений, разделенных запятыми . Поэтому просто назовите выходной файл с расширением .csv.

Вам также необходимо выяснить, как бы вы хотели разделить ваш контент.

Вот примеры Java для начала:

запись в текстовый файл

как читать строки из файла

0 голосов
/ 27 ноября 2009

Универсальная бесплатная книга: Обработка текста на Python

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...