Урок 14: Работа с файлами
В этом уроке мы рассмотрим, как работать с файлами в Java, включая чтение и запись данных в файл.
Чтение файла
Для чтения данных из файла в Java используется класс BufferedReader
. Пример чтения файла:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileReadExample {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Результат выполнения
Содержимое файла example.txt будет выведено построчно.
Запись в файл
Для записи данных в файл в Java используется класс BufferedWriter
. Пример записи в файл:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class FileWriteExample {
public static void main(String[] args) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {
bw.write("Привет, мир!");
bw.newLine();
bw.write("Это пример записи в файл.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Результат выполнения
Файл output.txt будет содержать следующие строки:
Привет, мир!
Это пример записи в файл.
Упражнения
Упражнение 1: Чтение и подсчет слов
Напишите программу, которая читает текстовый файл и подсчитывает количество слов в файле.
Решение:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class WordCount {
public static void main(String[] args) {
int wordCount = 0;
try (BufferedReader br = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = br.readLine()) != null) {
String[] words = line.split("\\s+");
wordCount += words.length;
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Количество слов в файле: " + wordCount);
}
}
Объяснение: Мы читаем файл построчно, разбиваем каждую строку на слова с помощью метода split
и подсчитываем количество слов. В конце выводим общее количество слов в файле.
Упражнение 2: Запись чисел в файл
Напишите программу, которая записывает в файл числа от 1 до 10, каждое число на новой строке.
Решение:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class NumberWrite {
public static void main(String[] args) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter("numbers.txt"))) {
for (int i = 1; i <= 10; i++) {
bw.write(Integer.toString(i));
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Объяснение: Мы используем цикл for
для записи чисел от 1 до 10 в файл. Каждое число записывается на новой строке с помощью метода newLine
.