You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2023/02/09 13:57:17 UTC

[sis] 02/03: Replace calls to `Paths.get(…)` by calls to `Path.of(…)`. According Javadoc, `Paths` may be deprecated in a future Java version.

This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 6dbf748b406ee9317898441f9c454248b5f22a4b
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Feb 9 10:56:25 2023 +0100

    Replace calls to `Paths.get(…)` by calls to `Path.of(…)`.
    According Javadoc, `Paths` may be deprecated in a future Java version.
---
 .../src/main/java/org/apache/sis/console/MimeTypeCommand.java |  4 ++--
 .../java/org/apache/sis/internal/gui/DataStoreOpener.java     |  3 +--
 .../src/main/java/org/apache/sis/internal/setup/FXFinder.java |  5 ++---
 .../src/main/java/org/apache/sis/internal/doclet/Doclet.java  |  3 +--
 .../src/main/java/org/apache/sis/internal/doclet/Taglet.java  |  3 +--
 .../main/java/org/apache/sis/internal/unopkg/JavaMaker.java   |  5 ++---
 .../org/apache/sis/internal/metadata/sql/LocalDataSource.java |  7 +++----
 .../src/test/java/org/apache/sis/xml/RenameListGenerator.java |  6 +++---
 .../internal/referencing/provider/DatumShiftGridLoader.java   |  3 +--
 .../src/main/java/org/apache/sis/io/wkt/WKTDictionary.java    |  2 +-
 .../apache/sis/internal/referencing/provider/NTv2Test.java    |  3 +--
 .../sis/referencing/factory/sql/epsg/DataScriptFormatter.java |  3 +--
 .../java/org/apache/sis/internal/converter/PathConverter.java |  5 ++---
 .../org/apache/sis/internal/converter/StringConverter.java    |  2 +-
 .../java/org/apache/sis/internal/system/DataDirectory.java    |  3 +--
 .../main/java/org/apache/sis/util/logging/Initializer.java    |  3 +--
 .../apache/sis/internal/converter/StringConverterTest.java    |  3 +--
 .../src/test/java/org/apache/sis/test/ProjectDirectories.java |  3 +--
 .../src/main/java/org/apache/sis/storage/landsat/Band.java    |  3 +--
 .../org/apache/sis/storage/landsat/LandsatStoreProvider.java  |  3 +--
 .../java/org/apache/sis/internal/storage/URIDataStore.java    |  3 +--
 .../org/apache/sis/internal/storage/io/ChannelFactory.java    |  3 +--
 .../java/org/apache/sis/internal/storage/io/IOUtilities.java  | 11 +++++------
 .../org/apache/sis/internal/storage/folder/StoreTest.java     |  3 +--
 24 files changed, 36 insertions(+), 56 deletions(-)

diff --git a/application/sis-console/src/main/java/org/apache/sis/console/MimeTypeCommand.java b/application/sis-console/src/main/java/org/apache/sis/console/MimeTypeCommand.java
index 3c4f572f41..06ec5db9b5 100644
--- a/application/sis-console/src/main/java/org/apache/sis/console/MimeTypeCommand.java
+++ b/application/sis-console/src/main/java/org/apache/sis/console/MimeTypeCommand.java
@@ -20,7 +20,7 @@ import java.net.URI;
 import java.util.EnumSet;
 import java.net.URISyntaxException;
 import java.nio.file.Files;
-import java.nio.file.Paths;
+import java.nio.file.Path;
 import java.nio.file.NoSuchFileException;
 import java.nio.file.FileSystemNotFoundException;
 import org.apache.sis.storage.DataStores;
@@ -97,7 +97,7 @@ final class MimeTypeCommand extends CommandRunner {
                  */
                 type = DataStores.probeContentType(file);
             } else try {
-                type = Files.probeContentType(Paths.get(uri));
+                type = Files.probeContentType(Path.of(uri));
             } catch (IllegalArgumentException | FileSystemNotFoundException e) {
                 type = DataStores.probeContentType(uri);
             } catch (NoSuchFileException e) {
diff --git a/application/sis-javafx/src/main/java/org/apache/sis/internal/gui/DataStoreOpener.java b/application/sis-javafx/src/main/java/org/apache/sis/internal/gui/DataStoreOpener.java
index 20fed85abd..84e41c114e 100644
--- a/application/sis-javafx/src/main/java/org/apache/sis/internal/gui/DataStoreOpener.java
+++ b/application/sis-javafx/src/main/java/org/apache/sis/internal/gui/DataStoreOpener.java
@@ -20,7 +20,6 @@ import java.net.URI;
 import java.net.URL;
 import java.io.File;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.io.IOException;
 import java.net.URISyntaxException;
 import java.util.Locale;
@@ -135,7 +134,7 @@ public final class DataStoreOpener extends Task<DataStore> {
                     source = ((URL) source).toURI();                // May throw URISyntaxException.
                 }
                 if (source instanceof URI) {                        // May be the result of above URL.toURI().
-                    source = Paths.get((URI) source);               // May throw FileSystemNotFoundException.
+                    source = Path.of((URI) source);                 // May throw FileSystemNotFoundException.
                 }
                 if (source instanceof Path) {                       // May be the result of a previous block.
                     source = ((Path) source).toRealPath();          // May throw IOException.
diff --git a/application/sis-javafx/src/main/java/org/apache/sis/internal/setup/FXFinder.java b/application/sis-javafx/src/main/java/org/apache/sis/internal/setup/FXFinder.java
index 5073b63eea..a8e120d037 100644
--- a/application/sis-javafx/src/main/java/org/apache/sis/internal/setup/FXFinder.java
+++ b/application/sis-javafx/src/main/java/org/apache/sis/internal/setup/FXFinder.java
@@ -21,7 +21,6 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.file.StandardOpenOption;
 import java.util.ArrayList;
 import java.util.Enumeration;
@@ -137,7 +136,7 @@ public final class FXFinder {
      * Creates a new finder.
      */
     private FXFinder(final String setenv) {
-        this.setenv = Paths.get(setenv).normalize();
+        this.setenv = Path.of(setenv).normalize();
         isWindows = setenv.endsWith(WINDOWS_BATCH_EXTENSION);
     }
 
@@ -203,7 +202,7 @@ public final class FXFinder {
             } else if (value.isEmpty()) {
                 value = "(blank)";
             } else if (name.equals("SIS_DATA") && value.equals("bin/../data")) {
-                value = Paths.get(value).toAbsolutePath().toString();
+                value = Path.of(value).toAbsolutePath().toString();
             }
         } catch (SecurityException e) {
             value  = "(unreadable)";
diff --git a/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Doclet.java b/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Doclet.java
index 08dbea6280..e7c77981e7 100644
--- a/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Doclet.java
+++ b/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Doclet.java
@@ -20,7 +20,6 @@ import java.util.Set;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.UncheckedIOException;
@@ -112,7 +111,7 @@ public final class Doclet extends StandardDoclet {
     public boolean run(final DocletEnvironment environment) {
         final boolean success = super.run(environment);
         if (success && outputDirectory != null) try {
-            final Path output = Paths.get(outputDirectory);
+            final Path output = Path.of(outputDirectory);
             final Path resources = resources(output);
             copyResources(resources, output);
             final Rewriter r = new Rewriter();
diff --git a/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Taglet.java b/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Taglet.java
index 707ab08927..acb188f712 100644
--- a/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Taglet.java
+++ b/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Taglet.java
@@ -20,7 +20,6 @@ import java.util.Set;
 import java.util.EnumSet;
 import java.util.List;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import javax.tools.Diagnostic;
 import javax.lang.model.element.Element;
 import jdk.javadoc.doclet.DocletEnvironment;
@@ -120,7 +119,7 @@ abstract class Taglet implements jdk.javadoc.doclet.Taglet {
             final TreePath path = trees.getPath(element);
             if (path != null) {
                 // Following methods do not document 'null' as a possible return value.
-                return Paths.get(path.getCompilationUnit().getSourceFile().toUri());
+                return Path.of(path.getCompilationUnit().getSourceFile().toUri());
             }
         }
         return null;
diff --git a/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/JavaMaker.java b/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/JavaMaker.java
index ecb6c7a89e..7fd86e08a8 100644
--- a/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/JavaMaker.java
+++ b/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/JavaMaker.java
@@ -18,7 +18,6 @@ package org.apache.sis.internal.unopkg;
 
 import java.io.IOException;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.file.Files;
 import java.nio.file.FileVisitResult;
 import java.nio.file.SimpleFileVisitor;
@@ -107,8 +106,8 @@ public final class JavaMaker extends AbstractMojo {
          * @param outputDirectory  directory where the output Java files will be located.
          */
         Copier(final String baseDirectory, final String outputDirectory) {
-            source = Paths.get(baseDirectory).resolve(UnoPkg.SOURCE_DIRECTORY);
-            target = Paths.get(outputDirectory);
+            source = Path.of(baseDirectory).resolve(UnoPkg.SOURCE_DIRECTORY);
+            target = Path.of(outputDirectory);
         }
 
         /**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/LocalDataSource.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/LocalDataSource.java
index f464f003eb..1897e5b6d7 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/LocalDataSource.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/LocalDataSource.java
@@ -26,7 +26,6 @@ import java.io.PrintWriter;
 import java.lang.reflect.Method;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.LogRecord;
@@ -129,7 +128,7 @@ public final class LocalDataSource implements DataSource, Comparable<LocalDataSo
                  */
                 Path path = dir.resolve(database);
                 if (home != null) try {
-                    path = Paths.get(home).relativize(path);
+                    path = Path.of(home).relativize(path);
                 } catch (IllegalArgumentException | SecurityException e) {
                     // The path cannot be relativized. This is okay.
                     Logging.recoverableException(LOGGER, LocalDataSource.class, "<init>", e);
@@ -137,7 +136,7 @@ public final class LocalDataSource implements DataSource, Comparable<LocalDataSo
                 path   = path.normalize();
                 dbFile = path.toString().replace(path.getFileSystem().getSeparator(), "/");
                 switch (dialect) {
-                    case HSQL: path = Paths.get(path.toString() + ".data"); break;
+                    case HSQL: path = Path.of(path.toString() + ".data"); break;
                     // More cases may be added in the future.
                 }
                 create = !Files.exists(path);
@@ -148,7 +147,7 @@ public final class LocalDataSource implements DataSource, Comparable<LocalDataSo
                  * if the database does not exist in that directory, because otherwise users could define
                  * SIS_DATA and get the impression that their setting is ignored.
                  */
-                final Path path = Paths.get(home);
+                final Path path = Path.of(home);
                 create = !Files.exists(path.resolve(database)) && Files.isDirectory(path);
                 dbFile = database;
             } else {
diff --git a/core/sis-metadata/src/test/java/org/apache/sis/xml/RenameListGenerator.java b/core/sis-metadata/src/test/java/org/apache/sis/xml/RenameListGenerator.java
index c90fb51de6..64b0e65e91 100644
--- a/core/sis-metadata/src/test/java/org/apache/sis/xml/RenameListGenerator.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/xml/RenameListGenerator.java
@@ -63,9 +63,9 @@ import org.apache.sis.internal.xml.LegacyNamespaces;
  *
  * {@snippet lang="java" :
  *     public static void main(String[] args) throws Exception {
- *         RenameListGenerator gen = new RenameListGenerator(Paths.get("/home/user/project/build/classes"));
- *         gen.add(Paths.get("org/apache/sis/metadata/iso"));
- *         try (final BufferedWriter out = Files.newBufferedWriter(Paths.get("MyOutputFile.lst"))) {
+ *         RenameListGenerator gen = new RenameListGenerator(Path.of("/home/user/project/build/classes"));
+ *         gen.add(Path.of("org/apache/sis/metadata/iso"));
+ *         try (final BufferedWriter out = Files.newBufferedWriter(Path.of("MyOutputFile.lst"))) {
  *             gen.print(out);
  *         }
  *     }
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridLoader.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridLoader.java
index ee7e0e31d7..8f7e7919b2 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridLoader.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridLoader.java
@@ -24,7 +24,6 @@ import java.io.IOException;
 import java.net.URI;
 import java.nio.ByteBuffer;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.file.Files;
 import java.nio.file.NoSuchFileException;
 import java.nio.file.FileSystemNotFoundException;
@@ -191,7 +190,7 @@ abstract class DatumShiftGridLoader {
      */
     static ReadableByteChannel newByteChannel(final URI path) throws IOException {
         try {
-            return Files.newByteChannel(Paths.get(path));
+            return Files.newByteChannel(Path.of(path));
         } catch (FileSystemNotFoundException e) {
             Logging.ignorableException(AbstractProvider.LOGGER, DatumShiftGridLoader.class, "newByteChannel", e);
         }
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTDictionary.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTDictionary.java
index 17b4eb2193..0a94ea1f56 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTDictionary.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTDictionary.java
@@ -92,7 +92,7 @@ import org.apache.sis.util.SimpleInternationalString;
  *     public final class MyCRS extends WKTDictionary implements CRSAuthorityFactory {
  *         MyCRS() throws IOException, FactoryException {
  *             super(new DefaultCitation("MyAuthority"));
- *             try (BufferedReader source = Files.newBufferedReader(Paths.get("MyCRS.txt"))) {
+ *             try (BufferedReader source = Files.newBufferedReader(Path.of("MyCRS.txt"))) {
  *                 load(source);
  *             }
  *         }
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/NTv2Test.java b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/NTv2Test.java
index 2248734b4f..d40f0202fb 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/NTv2Test.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/NTv2Test.java
@@ -21,7 +21,6 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.file.Files;
 import java.nio.file.StandardOpenOption;
 import java.nio.channels.WritableByteChannel;
@@ -179,7 +178,7 @@ public final class NTv2Test extends DatumShiftTestCase {
         assumeTrue(RUN_EXTENSIVE_TESTS);
         assumeTrue(DataDirectory.getenv() != null);
         final URI file = DatumShiftGridLoader.toAbsolutePath(new URI(MULTIGRID_TEST_FILE));
-        assumeTrue(Files.exists(Paths.get(file)));
+        assumeTrue(Files.exists(Path.of(file)));
         final DatumShiftGridFile<Angle,Angle> grid = NTv2.getOrLoad(NTv2.class, file, 2);
         assertInstanceOf("Should contain many grids.", DatumShiftGridGroup.class, grid);
         assertEquals("coordinateUnit",  Units.ARC_SECOND, grid.getCoordinateUnit());
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java
index 881c63b6df..fe5226526c 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java
@@ -24,7 +24,6 @@ import java.io.InputStreamReader;
 import java.io.Writer;
 import java.io.IOException;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.file.Files;
 import java.nio.charset.StandardCharsets;
 import java.sql.Connection;
@@ -75,7 +74,7 @@ public final class DataScriptFormatter extends ScriptRunner {
              Connection c = db.source.getConnection())
         {
             final DataScriptFormatter f = new DataScriptFormatter(c);
-            f.run(Paths.get(arguments[0]), Paths.get(arguments[1]));
+            f.run(Path.of(arguments[0]), Path.of(arguments[1]));
         }
     }
 
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/PathConverter.java b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/PathConverter.java
index e02fa427c6..e1cc71d8b1 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/PathConverter.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/PathConverter.java
@@ -20,7 +20,6 @@ import java.util.Set;
 import java.util.EnumSet;
 import java.io.File;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.net.URL;
 import java.net.URI;
 import java.net.MalformedURLException;
@@ -194,7 +193,7 @@ abstract class PathConverter<S,T> extends SystemConverter<S,T> {
         @Override public ObjectConverter<URL,Path> unique()  {return INSTANCE;}
         @Override public ObjectConverter<Path,URL> inverse() {return PathURL.INSTANCE;}
         @Override public Path doConvert(final URL source) throws URISyntaxException {
-            return Paths.get(source.toURI());
+            return Path.of(source.toURI());
         }
     }
 
@@ -209,7 +208,7 @@ abstract class PathConverter<S,T> extends SystemConverter<S,T> {
         @Override public ObjectConverter<URI,Path> unique()  {return INSTANCE;}
         @Override public ObjectConverter<Path,URI> inverse() {return PathURI.INSTANCE;}
         @Override public Path doConvert(final URI source) throws IllegalArgumentException {
-            return Paths.get(source);
+            return Path.of(source);
         }
     }
 
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java
index 4fe9b79381..142629c27c 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java
@@ -279,7 +279,7 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
         public Path() {super(java.nio.file.Path.class);}                            // Instantiated by ServiceLoader.
 
         @Override java.nio.file.Path doConvert(String source) throws InvalidPathException {
-            return java.nio.file.Paths.get(source);
+            return java.nio.file.Path.of(source);
         }
     }
 
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/system/DataDirectory.java b/core/sis-utility/src/main/java/org/apache/sis/internal/system/DataDirectory.java
index ceafacb194..c1302ab53a 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/system/DataDirectory.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/system/DataDirectory.java
@@ -19,7 +19,6 @@ package org.apache.sis.internal.system;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.file.InvalidPathException;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
@@ -171,7 +170,7 @@ public enum DataDirectory {
             if (dir == null || dir.isEmpty()) {
                 warning(null, Messages.Keys.DataDirectoryNotSpecified_1, ENV);
             } else try {
-                final Path path = Paths.get(dir);
+                final Path path = Path.of(dir);
                 if (!Files.isDirectory(path)) {
                     warning(null, Messages.Keys.DataDirectoryDoesNotExist_2, ENV, path);
                 } else if (!Files.isReadable(path)) {
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/logging/Initializer.java b/core/sis-utility/src/main/java/org/apache/sis/util/logging/Initializer.java
index 004fe465a1..b9fc17efa9 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/logging/Initializer.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/logging/Initializer.java
@@ -24,7 +24,6 @@ import java.io.IOException;
 import java.io.File;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 
 
 /**
@@ -106,7 +105,7 @@ public class Initializer {
     public Initializer() throws IOException {
         final String file = System.getProperty("java.util.logging.config.file");
         if (file != null) {
-            final Path path = Paths.get(file).normalize();
+            final Path path = Path.of(file).normalize();
             final StringBuilder buffer = new StringBuilder(600);
             for (String line : Files.readAllLines(path)) {
                 if (!(line = line.trim()).isEmpty() && line.charAt(0) != '#') {
diff --git a/core/sis-utility/src/test/java/org/apache/sis/internal/converter/StringConverterTest.java b/core/sis-utility/src/test/java/org/apache/sis/internal/converter/StringConverterTest.java
index b99fdd118e..f11046b35f 100644
--- a/core/sis-utility/src/test/java/org/apache/sis/internal/converter/StringConverterTest.java
+++ b/core/sis-utility/src/test/java/org/apache/sis/internal/converter/StringConverterTest.java
@@ -25,7 +25,6 @@ import java.net.URL;
 import java.net.URISyntaxException;
 import java.net.MalformedURLException;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 import java.lang.annotation.ElementType;
@@ -264,7 +263,7 @@ public final class StringConverterTest extends TestCase {
     public void testPath() {
         final ObjectConverter<String,Path> c = new StringConverter.Path();
         final String path = "home/user/index.txt".replace('/', File.separatorChar);
-        runInvertibleConversion(c, path, Paths.get(path));
+        runInvertibleConversion(c, path, Path.of(path));
         assertSerializedEquals(c);
     }
 
diff --git a/core/sis-utility/src/test/java/org/apache/sis/test/ProjectDirectories.java b/core/sis-utility/src/test/java/org/apache/sis/test/ProjectDirectories.java
index ca39173cfc..7a6fac4409 100644
--- a/core/sis-utility/src/test/java/org/apache/sis/test/ProjectDirectories.java
+++ b/core/sis-utility/src/test/java/org/apache/sis/test/ProjectDirectories.java
@@ -21,7 +21,6 @@ import java.net.URL;
 import java.net.URISyntaxException;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 
 import static org.junit.Assert.*;
 
@@ -69,7 +68,7 @@ public final class ProjectDirectories {
         assertNotNull("Class not found.", resource);
         Path dir;
         try {
-            dir = Paths.get(resource.toURI()).getParent();
+            dir = Path.of(resource.toURI()).getParent();
         } catch (URISyntaxException e) {
             throw new AssertionError(e);
         }
diff --git a/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/landsat/Band.java b/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/landsat/Band.java
index 098523a3d4..e2a9436afc 100644
--- a/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/landsat/Band.java
+++ b/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/landsat/Band.java
@@ -17,7 +17,6 @@
 package org.apache.sis.storage.landsat;
 
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.util.Optional;
 import org.opengis.util.LocalName;
 import org.opengis.util.GenericName;
@@ -123,7 +122,7 @@ final class Band extends GridResourceWrapper implements SchemaModifier {
         if (parent.directory != null) {
             file = parent.directory.resolve(filename);
         } else {
-            file = Paths.get(filename);
+            file = Path.of(filename);
         }
         final StorageConnector connector = new StorageConnector(file);
         connector.setOption(SchemaModifier.OPTION, this);
diff --git a/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/landsat/LandsatStoreProvider.java b/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/landsat/LandsatStoreProvider.java
index cb16491251..0d847eea11 100644
--- a/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/landsat/LandsatStoreProvider.java
+++ b/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/landsat/LandsatStoreProvider.java
@@ -17,7 +17,6 @@
 package org.apache.sis.storage.landsat;
 
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.file.Files;
 import java.util.logging.Logger;
 import org.opengis.parameter.ParameterDescriptorGroup;
@@ -193,7 +192,7 @@ public class LandsatStoreProvider extends DataStoreProvider {
      */
     static Path getMetadataFile(final Path directory) {
         if (directory != null) {
-            final Path file = directory.resolve(Paths.get(directory.getFileName().toString().concat("_MTL.txt")));
+            final Path file = directory.resolve(Path.of(directory.getFileName().toString().concat("_MTL.txt")));
             if (Files.isRegularFile(file)) {
                 return file;
             }
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/URIDataStore.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/URIDataStore.java
index d62487edde..768372c3af 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/URIDataStore.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/URIDataStore.java
@@ -22,7 +22,6 @@ import java.io.OutputStream;
 import java.io.File;
 import java.net.URI;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.file.StandardOpenOption;
 import java.nio.file.FileSystemNotFoundException;
 import java.nio.charset.Charset;
@@ -162,7 +161,7 @@ public abstract class URIDataStore extends DataStore implements StoreResource, R
             if (location == null) {
                 return new Path[0];
             } else try {
-                path = Paths.get(location);
+                path = Path.of(location);
             } catch (IllegalArgumentException | FileSystemNotFoundException e) {
                 throw new DataStoreException(e);
             }
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/ChannelFactory.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/ChannelFactory.java
index cbba0f4efc..0da1f94cab 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/ChannelFactory.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/ChannelFactory.java
@@ -33,7 +33,6 @@ import java.net.URI;
 import java.net.URL;
 import java.net.MalformedURLException;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.file.Files;
 import java.nio.file.InvalidPathException;
 import java.nio.file.FileSystemNotFoundException;
@@ -234,7 +233,7 @@ public abstract class ChannelFactory {
                     }
                 };
             } else try {
-                storage = Paths.get(uri);
+                storage = Path.of(uri);
             } catch (IllegalArgumentException | FileSystemNotFoundException e) {
                 try {
                     storage = uri.toURL();
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/IOUtilities.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/IOUtilities.java
index e11700a9bf..7ea1c4ac31 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/IOUtilities.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/IOUtilities.java
@@ -33,7 +33,6 @@ import java.nio.channels.ReadableByteChannel;
 import java.nio.channels.WritableByteChannel;
 import java.nio.channels.SeekableByteChannel;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.nio.file.OpenOption;
 import java.nio.file.StandardOpenOption;
 import java.nio.file.FileSystemNotFoundException;
@@ -407,7 +406,7 @@ public final class IOUtilities extends Static {
 
     /**
      * Converts a {@link URL} to a {@link Path}. This is equivalent to a call to the standard
-     * {@link URL#toURI()} method followed by a call to the {@link Paths#get(URI)} static method,
+     * {@link URL#toURI()} method followed by a call to the {@link Path#of(URI)} static method,
      * except for the following functionalities:
      *
      * <ul>
@@ -422,7 +421,7 @@ public final class IOUtilities extends Static {
      * @return the path for the given URL, or {@code null} if the given URL was null.
      * @throws IOException if the URL cannot be converted to a path.
      *
-     * @see Paths#get(URI)
+     * @see Path#of(URI)
      */
     public static Path toPath(final URL url, final String encoding) throws IOException {
         if (url == null) {
@@ -430,7 +429,7 @@ public final class IOUtilities extends Static {
         }
         final URI uri = toURI(url, encoding);
         try {
-            return Paths.get(uri);
+            return Path.of(uri);
         } catch (IllegalArgumentException | FileSystemNotFoundException cause) {
             final String message = Exceptions.formatChainedMessages(null,
                     Errors.format(Errors.Keys.IllegalArgumentValue_2, "URL", url), cause);
@@ -516,9 +515,9 @@ public final class IOUtilities extends Static {
         } else if (path instanceof File) {
             return ((File) path).toPath();
         } else if (path instanceof URI) {
-            return Paths.get((URI) path);
+            return Path.of((URI) path);
         } else if (path instanceof CharSequence) {
-            return Paths.get(path.toString());
+            return Path.of(path.toString());
         } else {
             return null;
         }
diff --git a/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/folder/StoreTest.java b/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/folder/StoreTest.java
index a7b5e1320e..c3f72edac5 100644
--- a/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/folder/StoreTest.java
+++ b/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/folder/StoreTest.java
@@ -20,7 +20,6 @@ import java.io.IOException;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -56,7 +55,7 @@ public final class StoreTest extends TestCase {
         final URL sample = StoreTest.class.getResource("test-data/README.txt");
         assertNotNull("Test data not found", sample);
         assumeTrue(sample.getProtocol().equals("file"));
-        return Paths.get(sample.toURI()).getParent();
+        return Path.of(sample.toURI()).getParent();
     }
 
     /**