Modernization: Using NIO2 instead of IO
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/FactoryFinder.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/FactoryFinder.java index 237e3f7..d6545ff 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/FactoryFinder.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/FactoryFinder.java
@@ -16,9 +16,10 @@ package jakarta.ws.rs.client; -import java.io.File; -import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.Properties; @@ -123,15 +124,14 @@ } // try to read from $java.home/lib/jaxrs.properties - FileInputStream inputStream = null; - String configFile = null; + InputStream inputStream = null; + Path configFile = null; try { String javah = System.getProperty("java.home"); - configFile = javah + File.separator + "lib" + File.separator + "jaxrs.properties"; - File f = new File(configFile); - if (f.exists()) { + configFile = Path.of(javah, "lib", "jaxrs.properties"); + if (Files.exists(configFile)) { Properties props = new Properties(); - inputStream = new FileInputStream(f); + inputStream = Files.newInputStream(configFile); props.load(inputStream); String factoryClassName = props.getProperty(factoryId); return newInstance(factoryClassName, classLoader);
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/ext/FactoryFinder.java b/jaxrs-api/src/main/java/jakarta/ws/rs/ext/FactoryFinder.java index bd46f79..b3081bd 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/ext/FactoryFinder.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/ext/FactoryFinder.java
@@ -16,9 +16,10 @@ package jakarta.ws.rs.ext; -import java.io.File; -import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.Properties; @@ -123,15 +124,14 @@ } // try to read from $java.home/lib/jaxrs.properties - FileInputStream inputStream = null; - String configFile = null; + InputStream inputStream = null; + Path configFile = null; try { String javah = System.getProperty("java.home"); - configFile = javah + File.separator + "lib" + File.separator + "jaxrs.properties"; - File f = new File(configFile); - if (f.exists()) { + configFile = Path.of(javah, "lib", "jaxrs.properties"); + if (Files.exists(configFile)) { Properties props = new Properties(); - inputStream = new FileInputStream(f); + inputStream = Files.newInputStream(configFile); props.load(inputStream); String factoryClassName = props.getProperty(factoryId); return newInstance(factoryClassName, classLoader);
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/sse/FactoryFinder.java b/jaxrs-api/src/main/java/jakarta/ws/rs/sse/FactoryFinder.java index a9d2415..8622d63 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/sse/FactoryFinder.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/sse/FactoryFinder.java
@@ -16,9 +16,10 @@ package jakarta.ws.rs.sse; -import java.io.File; -import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.Properties; @@ -123,15 +124,14 @@ } // try to read from $java.home/lib/jaxrs.properties - FileInputStream inputStream = null; - String configFile = null; + Path configFile = null; + InputStream inputStream = null; try { String javah = System.getProperty("java.home"); - configFile = javah + File.separator + "lib" + File.separator + "jaxrs.properties"; - File f = new File(configFile); - if (f.exists()) { + configFile = Path.of(javah, "lib", "jaxrs.properties"); + if (Files.exists(configFile)) { Properties props = new Properties(); - inputStream = new FileInputStream(f); + inputStream = Files.newInputStream(configFile); props.load(inputStream); String factoryClassName = props.getProperty(factoryId); return newInstance(factoryClassName, classLoader);