Spec-Zone .ru
спецификации, руководства, описания, API
След: Существенные Классы
Урок: Основной ввод-вывод
Раздел: Файловый ввод-вывод (Обладающий NIO.2)
Код Файлового ввода-вывода наследства
Домашняя страница > Существенные Классы > Основной ввод-вывод

Код Файлового ввода-вывода наследства

Функциональная совместимость С Кодом Наследства

До Java SE 7 выпусков, java.io.File class был механизмом, используемым для файлового ввода-вывода, но у этого было несколько недостатков.

Возможно, у Вас есть код наследства, который использует java.io.File и хотел бы использовать в своих интересах java.nio.file.Path функциональность с минимальным воздействием к Вашему коду.

java.io.File class обеспечивает toPath метод, который преобразовывает старый стиль File экземпляр к a java.nio.file.Path экземпляр, следующим образом:

Path input = file.toPath();

Можно тогда использовать в своих интересах богатый набор функций, доступный Path class.

Например, предположите, что у Вас был некоторый код, который удалил файл:

file.delete();

Вы могли изменить этот код, чтобы использовать Files.delete метод, следующим образом:

Path fp = file.toPath();
Files.delete(fp);

Наоборот, Path.toFile метод создает a java.io.File объект для a Path объект.

Отображение java.io. Функциональность файла к java.nio.file

Поскольку реализация Java файлового ввода-вывода была полностью повторно спроектирована в Java SE 7 выпусков, невозможно подкачать один метод для другого метода. Если Вы хотите использовать богатую функциональность, предлагаемую java.nio.file пакет, Ваше самое легкое решение состоит в том, чтобы использовать File.toPath метод как предложено в предыдущем разделе. Однако, если Вы не хотите использовать тот подход, или это не достаточно для Ваших потребностей, следует переписать свой код файлового ввода-вывода.

Между этими двумя API нет никакого взаимно-однозначного соответствия, но следующая таблица дает Вам общее представление о какой функциональность в java.io.File API отображается на в java.nio.file API и говорит Вам, где можно получить больше информации.

java.io. Функциональность файла Функциональность java.nio.file Учебное Покрытие
java.io.File java.nio.file.Path Класс Пути
java.io.RandomAccessFile SeekableByteChannel функциональность. Файлы Произвольного доступа
File.canRead, canWrite, canExecute Files.isReadable, Files.isWritable, и Files.isExecutable.
На файловых системах UNIX Управляющие Метаданные (Хранилище файлов и Атрибуты Хранилища файлов) пакет используется, чтобы проверить девять полномочий файла.
Проверка Файла или каталога
Управление Метаданными
File.isDirectory(), File.isFile(), и File.length() Files.isDirectory(Path, LinkOption...), Files.isRegularFile(Path, LinkOption...), и Files.size(Path) Управление Метаданными
File.lastModified() и File.setLastModified(long) Files.getLastModifiedTime(Path, LinkOption...) и Files.setLastMOdifiedTime(Path, FileTime) Управление Метаданными
File методы, которые устанавливают различные атрибуты: setExecutable, setReadable, setReadOnly, setWritable Эти методы заменяются Files метод setAttribute(Path, String, Object, LinkOption...). Управление Метаданными
new File(parent, "newfile") parent.resolve("newfile") Операции пути
File.renameTo Files.move Перемещение Файла или каталога
File.delete Files.delete Удаление Файла или каталога
File.createNewFile Files.createFile Создание Файлов
File.deleteOnExit Замененный DELETE_ON_CLOSE опция, определенная в createFile метод. Создание Файлов
File.createTempFile Files.createTempFile(Path, String, FileAttributes<?>), Files.createTempFile(Path, String, String, FileAttributes<?>) Создание Файлов
Создание и Запись Файла при использовании Потокового ввода-вывода
Чтение и Запись Файлов при использовании ввода-вывода Канала
File.exists Files.exists и Files.notExists Проверка Существования Файла или каталога
File.compareTo и equals Path.compareTo и equals Сравнение Двух Путей
File.getAbsolutePath и getAbsoluteFile Path.toAbsolutePath Преобразование Пути
File.getCanonicalPath и getCanonicalFile Path.toRealPath или normalize Преобразование Пути (toRealPath)
Удаление Избыточности От Пути (normalize)
File.toURI Path.toURI Преобразование Пути
File.isHidden Files.isHidden Получение информации О Пути
File.list и listFiles Path.newDirectoryStream Перечисление Содержания Каталога
File.mkdir и mkdirs Path.createDirectory Создание Каталога
File.listRoots FileSystem.getRootDirectories Перечисление Корневых каталогов Файловой системы
File.getTotalSpace, File.getFreeSpace, File.getUsableSpace FileStore.getTotalSpace, FileStore.getUnallocatedSpace, FileStore.getUsableSpace, FileStore.getTotalSpace Атрибуты Хранилища файлов

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Другие Полезные Методы
Следующая страница: Сводка