Потоки ввода-вывода в Java
НАВИГАЦИЯ ПО СТРАНИЦЕ
В Java работа с потоками ввода-вывода предоставляет эффективный способ обработки данных, будь то чтение из файла, запись в файл, или работа с сетевыми соединениями. Рассмотрим основные операции с потоками ввода-вывода.
Чтение из файла
Для чтения данных из файла используется класс FileInputStream совместно с классом BufferedInputStream. Пример:
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class InputStreamExample {
public static void main(String[] args) {
try (BufferedInputStream input = new BufferedInputStream(new FileInputStream("example.txt"))) {
int data;
while ((data = input.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Запись в файл
Для записи данных в файл используется класс FileOutputStream совместно с классом BufferedOutputStream. Пример:
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class OutputStreamExample {
public static void main(String[] args) {
try (BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream("output.txt"))) {
String data = "Пример записи в файл.";
output.write(data.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
}
Потоки ввода-вывода с символьными данными
Чтение символьных данных из файла
Для чтения символьных данных из файла используется класс FileReader совместно с классом BufferedReader. Пример:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class CharacterInputStreamExample {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Запись символьных данных в файл
Для записи символьных данных в файл используется класс FileWriter совместно с классом BufferedWriter. Пример:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class CharacterOutputStreamExample {
public static void main(String[] args) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) {
String data = "Пример записи символов в файл.";
writer.write(data);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Эти примеры предоставляют основы работы с потоками ввода-вывода в Java, но важно помнить о необходимости обработки исключений и закрытия потоков для избежания утечек ресурсов.