java.nio.file.FileSystems Class in Java
Last Updated :
21 Apr, 2021
Improve
java.nio.file.FileSystems class acts as a factory for creating new file systems. This class provides methods for creating file systems. This file system act as factories for creating different objects like Path, PathMatcher, UserPrincipalLookupService, and WatchService. This object helps to access the files and other objects in the file system.
Syntax: Class declaration
public final class FileSystems extends Object
Methods of this class is as follows:
Method | Description |
---|---|
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<String,?> env) | This method is used to create a new File system using the given URI |
newFileSystem(URI uri, Map<String,?> env, ClassLoader loader) | This method is used to create a new File system using the given URI |
Example 1:
// 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();
}
}
}
Output:

Example 2:
// 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<String, String> 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();
}
}
}
Output:
File System created successfully File system is open