Введение
Сохранение данных в файл полезно для постоянного хранения. В Java есть четыре класса, которые можно использовать для чтения файлов: FileReader, Scanner, FileInputStream и BufferedReader. Эти классы являются частью пакета java.io и используются для обработки файлов в Java.
Создать примерный файл
Начните с создания примера файла .txt для чтения. Вы можете использовать любой текстовый редактор для создания этого файла, и он может содержать любые данные, которые вы хотите прочитать. Пример:
This is the sample data stored in a file
Rahul:10025
Sohan:10026
Madan:10027
Jack:10028
Импортировать необходимые классы
Для чтения файла и преобразования его содержимого в строку вам понадобится импортировать следующие классы:
import java.io.*;
Чтение файла с использованием FileReader
Используйте класс FileReader для чтения данных из файла. Объект класса FileReader указывает на начало файла. Используйте буфер размером 1 для чтения каждого символа файла и добавьте его в переменную String.
try {
// Шаг 1: Создайте новый объект FileReader
FileReader fr = new FileReader("path/to/your/file.txt");
// Шаг 2: Создайте переменную String для хранения содержимого файла
String fileData = "";
// Шаг 3: Создайте целочисленную переменную для хранения каждого считанного символа
int c;
// Шаг 4: Продолжайте читать файл, пока не достигнете конца файла
while ((c = fr.read())!= -1) {
// Шаг 5: Добавьте каждый считанный символ в строку fileData
fileData += (char) c;
}
// Шаг 6: Выведите содержимое файла
System.out.println(fileData);
// Шаг 7: Закройте читатель файла
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
Чтение файла с использованием Scanner
Используйте класс Scanner для чтения данных из текстового файла. Вам нужно предоставить текстовый файл в качестве источника ввода для сканера, а затем ограничить сканер методом \\Z, чтобы прочитать все данные сразу и преобразовать их в строку.
try {
File file = new File("path/to/file.txt");
Scanner scanner = new Scanner(file);
scanner.useDelimiter("\\Z");
String fileData = scanner.next();
System.out.println(fileData);
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Чтение файла с использованием FileInputStream
Используйте класс FileInputStream для чтения данных непосредственно из файла в массив байтов. Создайте буфер нужного размера (10 байт в нашем примере) для временного хранения данных, прочитанных из файла, а затем добавьте их в объект StringBuilder. Наконец, мы используем метод toString(), чтобы преобразовать содержимое объекта StringBuilder в String.
try {
File file = new File("path/to/file.txt");
FileInputStream fileInputStream = new FileInputStream(file);
byte[] buffer = new byte[10];
StringBuilder stringBuilder = new StringBuilder();
int length;
while ((length = fileInputStream.read(buffer))!= -1) {
stringBuilder.append(new String(buffer, 0, length));
}
String fileData = stringBuilder.toString();
System.out.println(fileData);
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
Чтение файла с использованием BufferedReader
Используйте класс BufferedReader для чтения данных из файла простым способом. Он прочитает все данные сразу, а затем вы можете вывести их построчно с использованием метода readLine().
try {
File file = new File("path/to/file.txt");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
String line;
while ((line = bufferedReader.readLine())!= null) {
System.out.println(line);
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
Резюме
В этом практическом занятии вы узнали, как читать данные из файла в String на Java. Существует несколько способов достичь этого, в том числе с использованием классов FileReader, Scanner, FileInputStream и BufferedReader. Мы рекомендуем поэкспериментировать с этими методами самостоятельно, чтобы понять, как они работают и какой из них наиболее подходящий для вашего конкретного случая использования. Не забудьте протестировать свой код и проверить путь к вашему текстовому файлу.



