📜  Java的.nio.file.FileSystems类在Java中

📅  最后修改于: 2022-05-13 01:55:15.385000             🧑  作者: Mango

Java的.nio.file.FileSystems类在Java中

Java.nio.file.FileSystems类充当创建新文件系统的工厂。此类提供创建文件系统的方法。该文件系统充当用于创建不同对象(如 Path、PathMatcher、UserPrincipalLookupService 和 WatchService)的工厂。此对象有助于访问文件系统中的文件和其他对象。

语法:类声明

public final class FileSystems extends Object

该类的方法如下:

MethodDescription
getDefault()This method returns a new default FileSystem.
getFileSystem(URI uri)This method returns a reference to an existing FileSystem.
newFileSystem(Path path, ClassLoader loader)This method is used to construct a new FileSystem to access the contents of the files of this file system.
newFileSystem(URI uri, Map env)This method is used to create a new File system using the given URI
newFileSystem(URI uri, Map env, ClassLoader loader)This method is used to create a new File system using the given URI

示例 1:

Java
// Java Program to illustrate FileSystems Class by
// creating a new file system using getDefault() method and
// printing its file stores and root directories
  
// Importing classes from java.nio package
// for network linking
import java.nio.file.FileStore;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Path;
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Try block to check for exceptions
        try {
  
            // Create a new file system by
            // creating object of FileSystem class
            // using getDefault() method
            FileSystem filesystem
                = FileSystems.getDefault();
  
            // Display commands only
            System.out.println(
                "File System created successfully");
  
            System.out.println(
                "Underlying file stores of this FileSystem :");
  
            // Printing the underlying file stores of this
            // FileSystem using for each loop
            for (FileStore store :
                 filesystem.getFileStores()) {
  
                // Print statement
                System.out.println(store.toString());
            }
  
            // Display message only
            System.out.println(
                "Root directories of this FileSystem :");
  
            // Printing the root directories of this
            // FileSystem using for each loop
            for (Path rootdir :
                 filesystem.getRootDirectories()) {
  
                // Print statement
                System.out.println(rootdir.toString());
            }
        }
  
        // Catch block to handle the exceptions
        catch (Exception e) {
  
            // Print the exception along with line number
            // using printStackTrace() method
            e.printStackTrace();
        }
    }
}


Java
// Java Program to illustrate FileSystems Class by
// creating new file system using newFileSystem() method
  
// Importing URI class from java.net package
import java.net.URI;
// Importing required file classes from java.nio package
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
// Importing Map and HashMap classes from java.util package
import java.util.HashMap;
import java.util.Map;
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
  
        // Try block to check for exceptions
        try {
  
            // Creating object of Map class
            // Declaring object of string types
            Map env = new HashMap<>();
  
            // Getting path of zip file
            Path zipPath = Paths.get("ZipFile.zip");
  
            // Creating URI from zip path received
            URI Uri
                = new URI("jar:file",
                          zipPath.toUri().getPath(), null);
  
            // Create new file system from uri
            FileSystem filesystem
                = FileSystems.newFileSystem(Uri, env);
  
            // Display message for better readability
            System.out.println(
                "FileSystem created successfully");
  
            // Checking if file system is open or not
            // using isOpen() method
            if (filesystem.isOpen())
  
                // Print statement
                System.out.println("File system is open");
            else
  
                // Print statement
                System.out.println("File system is close");
        }
  
        // Catch block to handle the exceptions
        catch (Exception e) {
  
            // Print the exception with line number
            // using the printStack() method
            e.printStackTrace();
        }
    }
}


输出:

示例 2:

Java

// Java Program to illustrate FileSystems Class by
// creating new file system using newFileSystem() method
  
// Importing URI class from java.net package
import java.net.URI;
// Importing required file classes from java.nio package
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
// Importing Map and HashMap classes from java.util package
import java.util.HashMap;
import java.util.Map;
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
  
        // Try block to check for exceptions
        try {
  
            // Creating object of Map class
            // Declaring object of string types
            Map env = new HashMap<>();
  
            // Getting path of zip file
            Path zipPath = Paths.get("ZipFile.zip");
  
            // Creating URI from zip path received
            URI Uri
                = new URI("jar:file",
                          zipPath.toUri().getPath(), null);
  
            // Create new file system from uri
            FileSystem filesystem
                = FileSystems.newFileSystem(Uri, env);
  
            // Display message for better readability
            System.out.println(
                "FileSystem created successfully");
  
            // Checking if file system is open or not
            // using isOpen() method
            if (filesystem.isOpen())
  
                // Print statement
                System.out.println("File system is open");
            else
  
                // Print statement
                System.out.println("File system is close");
        }
  
        // Catch block to handle the exceptions
        catch (Exception e) {
  
            // Print the exception with line number
            // using the printStack() method
            e.printStackTrace();
        }
    }
}

输出:

File System created successfully
File system is open