Чтение данных из файла в Java: примеры и практические рекомендации
Java предоставляет несколько вариантов чтения данных из файла, но самыми распространенными методами являются использование классов FileInputStream, BufferedReader и Scanner.
1. FileInputStream:
try {
FileInputStream fileInputStream = new FileInputStream("file.txt");
int content;
while ((content = fileInputStream.read()) != -1) {
System.out.print((char)content);
}
} catch (IOException e) {
e.printStackTrace();
}
2. BufferedReader:
try {
FileReader fileReader = new FileReader("file.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
String str;
while ((str = bufferedReader.readLine()) != null) {
System.out.println(str);
}
} catch (IOException e) {
e.printStackTrace();
}
3. Scanner:
try {
File file = new File("file.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Каждый из этих методов имеет свои достоинства и недостатки, а выбор конкретного метода зависит от целей проекта. FileInputStream - это байтовый поток, который читает файл по байтам; BufferedReader - это символьный поток, который быстрее читает файлы большого размера и сохраняет символы в буфере; Scanner может использоваться для чтения данных из любого источника, включая файлы, строки, System.in и многое другое.
Независимо от выбранного метода, важно закрывать поток после его использования.
try {
FileInputStream fileInputStream = new FileInputStream("file.txt");
// код чтения из файла
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}