Package software.amazon.smithy.utils
Class IoUtils
- java.lang.Object
-
- software.amazon.smithy.utils.IoUtils
-
public final class IoUtils extends java.lang.ObjectUtilities for IO operations.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringreadUtf8File(java.lang.String path)Reads a file into a UTF-8 encoded string.static java.lang.StringreadUtf8File(java.nio.file.Path path)Reads a file into a UTF-8 encoded string.static java.lang.StringreadUtf8Resource(java.lang.Class<?> clazz, java.lang.String resourcePath)Reads a class resource into a UTF-8 string.static java.lang.StringreadUtf8Resource(java.lang.ClassLoader classLoader, java.lang.String resourcePath)Reads a class loader resource into a UTF-8 string.static java.lang.StringreadUtf8Url(java.net.URL url)Reads a URL resource into a UTF-8 string.static java.lang.StringrunCommand(java.lang.String command)Runs a process using the givencommandat the current directory specified bySystem.getProperty("user.dir").static java.lang.StringrunCommand(java.lang.String command, java.nio.file.Path directory)Runs a process using the givencommandrelative to the givendirectory.static intrunCommand(java.lang.String command, java.nio.file.Path directory, java.lang.Appendable output)Runs a process using the givencommandrelative to the givendirectoryand writes stdout and stderr tooutput.static byte[]toByteArray(java.io.InputStream is)Reads and returns the rest of the given input stream as a byte array.static java.lang.StringtoUtf8String(java.io.InputStream is)Reads and returns the rest of the given input stream as a string.
-
-
-
Method Detail
-
toByteArray
public static byte[] toByteArray(java.io.InputStream is)
Reads and returns the rest of the given input stream as a byte array. Caller is responsible for closing the given input stream.- Parameters:
is- The input stream to convert.- Returns:
- The converted bytes.
-
toUtf8String
public static java.lang.String toUtf8String(java.io.InputStream is)
Reads and returns the rest of the given input stream as a string. Caller is responsible for closing the given input stream.- Parameters:
is- The input stream to convert.- Returns:
- The converted string.
-
readUtf8File
public static java.lang.String readUtf8File(java.lang.String path)
Reads a file into a UTF-8 encoded string.- Parameters:
path- Path to the file to read.- Returns:
- Returns the contents of the file.
- Throws:
java.lang.RuntimeException- if the file can't be read or encoded.
-
readUtf8File
public static java.lang.String readUtf8File(java.nio.file.Path path)
Reads a file into a UTF-8 encoded string.- Parameters:
path- Path to the file to read.- Returns:
- Returns the contents of the file.
- Throws:
java.lang.RuntimeException- if the file can't be read or encoded.
-
readUtf8Resource
public static java.lang.String readUtf8Resource(java.lang.ClassLoader classLoader, java.lang.String resourcePath)Reads a class loader resource into a UTF-8 string.This is equivalent to reading the contents of an
InputStreamfromClassLoader.getResourceAsStream(java.lang.String).- Parameters:
classLoader- Class loader to load from.resourcePath- Path to the resource to load.- Returns:
- Returns the loaded resource.
- Throws:
java.io.UncheckedIOException- if the resource cannot be loaded.
-
readUtf8Resource
public static java.lang.String readUtf8Resource(java.lang.Class<?> clazz, java.lang.String resourcePath)Reads a class resource into a UTF-8 string.This is equivalent to reading the contents of an
InputStreamfromClass.getResourceAsStream(String).- Parameters:
clazz- Class to load from.resourcePath- Path to the resource to load.- Returns:
- Returns the loaded resource.
- Throws:
java.io.UncheckedIOException- if the resource cannot be loaded.
-
readUtf8Url
public static java.lang.String readUtf8Url(java.net.URL url)
Reads a URL resource into a UTF-8 string.- Parameters:
url- URL to load from.- Returns:
- Returns the loaded resource.
- Throws:
java.io.UncheckedIOException- if the resource cannot be loaded.
-
runCommand
public static java.lang.String runCommand(java.lang.String command)
Runs a process using the givencommandat the current directory specified bySystem.getProperty("user.dir").stderr is redirected to stdout in the return value of this method.
- Parameters:
command- Process command to execute.- Returns:
- Returns the combined stdout and stderr of the process.
- Throws:
java.lang.RuntimeException- if the process returns a non-zero exit code or fails.
-
runCommand
public static java.lang.String runCommand(java.lang.String command, java.nio.file.Path directory)Runs a process using the givencommandrelative to the givendirectory.stderr is redirected to stdout in the return value of this method.
- Parameters:
command- Process command to execute.directory- Directory to use as the working directory.- Returns:
- Returns the combined stdout and stderr of the process.
- Throws:
java.lang.RuntimeException- if the process returns a non-zero exit code or fails.
-
runCommand
public static int runCommand(java.lang.String command, java.nio.file.Path directory, java.lang.Appendable output)Runs a process using the givencommandrelative to the givendirectoryand writes stdout and stderr tooutput.stderr is redirected to stdout when writing to
output. This method does not throw when a non-zero exit code is encountered. For any more complex use cases, useProcessBuilderdirectly.- Parameters:
command- Process command to execute.directory- Directory to use as the working directory.output- Where stdout and stderr is written.- Returns:
- Returns the exit code of the process.
-
-