Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

Архивируйте Провайдера Файловой системы

Введение

Провайдер файловой системы zip, представленный в Java SE 7 выпусков, является реализацией пользовательского провайдера файловой системы. Провайдер файловой системы zip обрабатывает zip или файл JAR как файловая система и обеспечивает возможность управлять содержанием файла. Провайдер файловой системы zip создает многократные файловые системы — одна файловая система для каждой zip или файла JAR.

demo/nio/zipfs/src.zip файл в Вашем Java SE 7 установок содержит исходный код для провайдера файловой системы zip. Это также содержит Demo.java class, который показывает, как использовать провайдера файловой системы zip.

Используя Провайдера Файловой системы Zip

Можно использовать методы фабрики java.nio.file.FileSystems class, чтобы создать новую файловую систему zip или получить ссылку на существующую файловую систему zip. Создайте файловую систему zip, определяя путь zip или файла JAR одним из следующих способов:

Определите параметры конфигурации для файловой системы zip в java.util.Map объект, который передают к FileSystems.newFileSystem метод. См. тему Свойств Файловой системы Zip для информации о специфичных для провайдера свойствах конфигурации для файловой системы zip.

Как только у Вас есть экземпляр файловой системы zip, можно вызвать методы java.nio.file.FileSystem и java.nio.file.Path классы, чтобы выполнить операции, такие как копирование, перемещение, и переименование файлов, так же как изменение атрибутов файла.

Следующий пример кода показывает, как создать файловую систему zip и скопировать файл в новую файловую систему zip.

import java.util.*;
import java.net.URI;
import java.nio.file.Path;
import java.nio.file.*;

public class ZipFSPUser {
    public static void main(String [] args) throws Throwable {
        Map<String, String> env = new HashMap<>(); 
        env.put("create", "true");
        // locate file system by using the syntax 
        // defined in java.net.JarURLConnection
        URI uri = URI.create("jar:file:/codeSamples/zipfs/zipfstest.zip");
        
        try (FileSystem zipfs = FileSystems.newFileSystem(uri, env)) {
            Path externalTxtFile = Paths.get("/codeSamples/zipfs/SomeTextFile.txt");
            Path pathInZipfile = zipfs.getPath("/SomeTextFile.txt");          
            // copy a file into the zip file
            externalTxtFile.copyTo(pathInZipfile); 
        } 
    }
}

Ресурсы


Oracle и/или его филиалы Авторское право © 1993, 2012, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами