Как прочитать 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.