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 ...

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

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

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

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

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

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

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

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

Для получения даты последнего изменения файла в Java используется метод File.lastModified(), который возвращает значение типа long.  Это значение означает время в миллисекундах (так называемая, временная метка или timestamp). Для того, чтобы отобразить это время в удобном для восприятия человеком формате, используется класс SimpleDateFormat. package ru.j4web.examples.java.io; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; public class GetFileLastModifiedExample {          private static ...

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

Чтение файла с помощью 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 ...

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

Чтение информации из файла в кодировке UTF-8 в Java

Допустим, нам нужно программно прочитать файл с текстом в кодировке Юникод (UTF8). В качестве примера можем взять файл, сформированный в примере про запись текста в формате Юникод: Пример файла с Юникодом Несмотря на то, что в Java Юникод используется как кодировка по умолчанию, при манипулировании данными в этой кодировке нам необходимо всегда указывать ее явно. Ниже представлен пример программы которая ...

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

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

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

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

Запись информации в файл в кодировке UTF-8 в Java

Допустим, что нам необходимо записать в файле текст в кодировке UTF8 (Юникод). Например, мы хоотим записать текст на каком-нибудь экзотическом языке (китайский, арабский и другие). Несмотря на то, что в Java Юникод используется как кодировка по умолчанию, при манипулировании данными в этой кодировке нам необходимо всегда указывать ее явно. Ниже показан пример записи в текстовый файл информации в Юникоде (на ...

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