Как прочитать txt файл в JAVA?

Есть JFileChooser с помощью которого идёт выбор файла. Пользователь выбирает файл и надо сделать так, что-бы файл открылся в JTextArea. Как это можно сделать?

Вод код который я успел написать:

JFileChooser openfile = new JFileChooser();             
                int file = openfile.showDialog(null, "Открыть файл");
                if (file == JFileChooser.APPROVE_OPTION) {
                    File selectedfile = openfile.getSelectedFile();;     

Ответы (1 шт):

Автор решения: Егор Малько

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

StringBuilder text = new StringBuilder();
try (BufferedReader bf = Files.newBufferedReader(selectedfile.toPath())) {
    char[] buffer = new char[2000];
    int length;
    while ((length = bf.read(buffer)) != -1) {
        text.append(String.valueOf(buffer, 0, length));
    }
} catch (IOException e) {
    // Обработка ошибки чтения
}

Небольшие пояснения:

Алгоритм читает файл порциями не более чем в 2000 символов. Метод read у bf (который BufferedReader) записывает данные в переданный буфер и возвращает количество записанных данных. Когда был достигнут конец файла, то возвращается -1, и наш алгоритм перестает читать.

Результат сохраняется в переменную text с типом StringBuilder. Чтобы получить из неё результат в виде String, надо вызвать метод toString.

→ Ссылка