Java I/O

Java поставляется с огромным количеством классов, которые позволяют осуществлять ввод и вывод данных посредством потоков байтов (byte stream) и средствами файловой системы. На этой странице представлены примеры использования классов Java I/O для манипулирования данными: использование файлов, временных файлов, управление каталогами, использования кодировок и преобразование из одной кодировки в другую, способы сериализации/десериализации объектов, ZIP/GZIP компрессия и другие.

Желаем приятного изучения Java I/O!

Работа с файлами

Примеры использования классов Java I/O для создания, чтения, записи, изменения файлов, получения информации о файлах и каталогах.

Сериализация

Получение объекта, реализующего интерфейс Serializable, сохранение его в виде массива байт в файл, восстановление исходного объекта из файла.

Сжатие (компрессия) файлов

Примеры использования компрессии (сжатия) файлов: ZIP и GZIP.

Временные файлы

Примеры использования временных файлов

Работа с каталогами

Примеры работы с каталогами средствами классов JavaI/O.

Консольный ввод-вывод

Примеры использование консольного ввода-вывода

Полезная информация по Java I/O

Удаление файла в Java

Как бы это странно ни звучало, но метод delete() класса File предназначен для удаления файлов в Java Этот метод возвращает булево значение: true в случае успешного удаления файла и false в противном случае. Рассмотрим простой пример программы, в которой производится удаление файла. package ru.j4web.examples.java.io; import java.io.File; public class DeleteFileExample {     private static final String FILENAME = "c:\Projects\J4Web.Ru\Src\"             + ...

Читать далее »

Добавление содержимого в файл

Класс FileWriter — это класс для работы с символьными потоками, который позволяет записывать символ или последовательность символов в файл. По умолчанию, он перезаписывает содержимое файла, однако, если при создании объекта FileWriter передать в качестве второго аргумента булево значение true, то при записи это класс будет добавлять содержимое в конец существующего файла. Таким образом: Для того, чтобы перезаписать содержимое файла, нужно ...

Читать далее »

Создание файла в Java

Метод File.createNewFile() используется для создания новых файлов в Java, он возвращает значение типа boolean: true — если файл был создан успешно, false — если файл создать не удалось. package ru.j4web.examples.java.io; import java.io.File; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; public class CreateFileExample {     private static final String FILENAME_1 = "C:\newfile.txt";     private static final String FILENAME_2             = "C:\Projects\J4Web.Ru\newfile.txt";     public ...

Читать далее »

Запись в файл с помощью FileOutputStream

В Java определен класс FileOutputStream — класс, предназначенный для работы с простыми двоичными данными. Для того, чтобы записать данные в файл, их необходимо перевести в байты (например, перевести в массив байт текстовую строку), потом направить в файл и затем сохранить его. Ниже показан пример использования класса FileOutputStream для записи в файл простых текстовых данных. package ru.j4web.examples.java.io; import java.io.File; import java.io.FileOutputStream; ...

Читать далее »

Чтение файла с помощью BufferedReader

В Java существует большое количество способов чтения содержимого файла. В данном примере мы рассмотрим простой и самый распространенный из них — чтение файла с помощью BufferedReader. package ru.j4web.examples.java.io; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; public class BufferedReaderExample {     private static final String FILENAME =             "c:\Projects\J4Web.Ru\Src\JavaIO\BufferedReaderExample\"             + "newfile.txt";     public static void ...

Читать далее »

Установка прав доступа на файл в Java

Перечень допустимых прав на файл сильно зависит от используемой операционной: различные операционные системы (*nix/Linux/MacOS, Windows FAT32 & NTFS) позволяют определять различные права. Тем не менее, в Java определен набор общих для всех операционных систем прав и набор методов для работы с ними. Проверить наличие права доступа: File.canExecute(); — возвращает true, если файл может быть выполнен; File.canRead(); — возвращает true, если ...

Читать далее »

Формирование пути к файлу в Java

В данной статье мы рассмотрим три примера формирования пути к файлу в Java, используя при этом разные приемы: File.separator или System.getProperty("file.separator") (Рекомендовано) File file = new File(workDir, filename) (Рекомендовано) Задание разделителя каталогов вручную (Не рекомендовано) File.separator Традиционный (и самый распространенный) способ формирования полного пути к файлу в мире Java — использование константы File.separator или вызов метода System.getProperty("file.separator"). Оба этих способа ...

Читать далее »

Установка даты последнего изменения файла в Java

По аналогии с получением даты последнего изменения файла в Java при помощи метода File.lastModified(), для установки времени последнего изменения файла используется метод File.setLastModified(), который принимает в качестве аргумента целое число типа long — временная метка даты последнего изменения файла. package ru.j4web.examples.java.io; import java.io.File; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger; public class SetFileLastModifiedExample {          ...

Читать далее »

Копирование файла в Java

Из коробки Java не предоставляет программисту способа копирования файлов. Хотя технически этот процесс достаточно прост: нам достаточно открыть файл-источник, преобразовать его содержимое в байтовый поток, представленный объектом типа FileInputStream, и перенаправить его в выходной байтовый поток, представленный объектом типа FileOutputStream, связанный с файлом — назначением. Вызывает вопросы тот факт, что такой востребованный метод не был включен, например, в класс File. ...

Читать далее »

Получение даты создания файла в Java

В Java нет официального способа получения даты создания файла. Однако, существуют приемы, с помощью которых можно решить эту задачу. Поскольку эти приемы основываются на вызове команд с использованием командной строки, то все они зависят от операционной системы, под управлением которой выполняется программа. В этой статье показан пример получения даты создания файла в Java для ОС семейства Windows. Как это работает ...

Читать далее »