Java: чтение всех файлов

Я пытаюсь читать файлы в java-приложении, работающем через netbeans. Мне удалось предварительно просмотреть файлы, но я могу предварительно просмотреть только файлы .txt. Как я могу изменить свой код для чтения в любом файле (ах)? (например, .doc, .docx, .pdf, .jpg, .png).

JFileChooser share = new JFileChooser();
share.showOpenDialog(null);
File f = share.getSelectedFile();
String fileName = f.getAbsolutePath();

    try {
        FileReader reader = new FileReader(fileName);
        BufferedReader br = new BufferedReader(reader);
        jTextArea1.read(br, null);
        br.close();
        jTextArea1.requestFocus();
    }
    catch(Exception e) {
        JOptionPane.showMessageDialog(null, "File not found", "Error", JOptionPane.ERROR_MESSAGE);
    }

person Community    schedule 18.11.2015    source источник
comment
Не может; собственная библиотека этого не поддерживает. Вам нужно несколько других, например Apache-POI и т. Д.   -  person Am_I_Helpful    schedule 18.11.2015


Ответы (2)


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

Связанное с ними программное обеспечение (Word, Reader и т. Д.) Обычно выполняет декодирование, но вы можете найти библиотеки Java, которые могут сделать то же самое.

person Aaron    schedule 18.11.2015

вы должны использовать что-то вроде apache tika

http://tika.apache.org/

это позволит вам читать практически любые файлы

также посмотрите java.io.File.list (), чтобы узнать типы файлов, которые у вас есть в месте

person AbtPst    schedule 18.11.2015