java.lang.Object
org.elasticsearch.core.IOUtils
Utilities for common I/O methods. Borrowed heavily from Lucene (org.apache.lucene.util.IOUtils).
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic voidstatic voidCloses all givenCloseables.static voidCloses all givenCloseables.static voidCloses all givenCloseables.static voidcloseWhileHandlingException(Closeable closeable) static voidcloseWhileHandlingException(Closeable... objects) Closes all givenCloseables, suppressing all thrown exceptions.static voidcloseWhileHandlingException(Iterable<? extends Closeable> objects) Closes all givenCloseables, suppressing all thrown exceptions.static voiddeleteFilesIgnoringExceptions(Path... files) Deletes all given files, suppressing all thrownIOExceptions.static voidEnsure that any writes to the given file is written to the storage device that contains it.static voidEnsure that any writes to the given file is written to the storage device that contains it.static voidDeletes one or more files or directories (and everything underneath it).
-
Field Details
-
UTF_8
UTF-8 charset string.Where possible, use
StandardCharsets.UTF_8instead, as using the String constant may slow things down.- See Also:
-
WINDOWS
public static final boolean WINDOWS -
LINUX
public static final boolean LINUX -
MAC_OS_X
public static final boolean MAC_OS_X
-
-
Method Details
-
close
Closes all givenCloseables. Some of the Closeables may be null; they are ignored. After everything is closed, the method either throws the first exception it hit while closing with other exceptions added as suppressed, or completes normally if there were no exceptions.- Parameters:
objects- objects to close- Throws:
IOException
-
close
- Throws:
IOException- See Also:
-
close
Closes all givenCloseables. Some of the Closeables may be null; they are ignored. After everything is closed, the method adds any exceptions as suppressed to the original exception, or throws the first exception it hit ifExceptionis null. If no exceptions are encountered and the passed in exception is null, it completes normally.- Parameters:
objects- objects to close- Throws:
IOException
-
close
Closes all givenCloseables. Some of the Closeables may be null; they are ignored. After everything is closed, the method either throws the first exception it hit while closing with other exceptions added as suppressed, or completes normally if there were no exceptions.- Parameters:
objects- objects to close- Throws:
IOException
-
closeWhileHandlingException
Closes all givenCloseables, suppressing all thrown exceptions. Some of theCloseables may be null, they are ignored.- Parameters:
objects- objects to close
-
closeWhileHandlingException
Closes all givenCloseables, suppressing all thrown exceptions.- Parameters:
objects- objects to close- See Also:
-
closeWhileHandlingException
- See Also:
-
deleteFilesIgnoringExceptions
Deletes all given files, suppressing all thrownIOExceptions. Some of the files may be null, if so they are ignored.- Parameters:
files- the paths of files to delete
-
rm
Deletes one or more files or directories (and everything underneath it).- Throws:
IOException- if any of the given files (or their sub-hierarchy files in case of directories) cannot be removed.
-
fsync
Ensure that any writes to the given file is written to the storage device that contains it. TheisDirparameter specifies whether or not the path to sync is a directory. This is needed because we open for read and ignore anIOExceptionsince not all filesystems and operating systems support fsyncing on a directory. For regular files we must open for write for the fsync to have an effect.- Parameters:
fileToSync- the file to fsyncisDir- if true, the given file is a directory (we open for read and ignoreIOExceptions, because not all file systems and operating systems allow to fsync on a directory)- Throws:
IOException
-
fsync
Ensure that any writes to the given file is written to the storage device that contains it. TheisDirparameter specifies whether or not the path to sync is a directory. This is needed because we open for read and ignore anIOExceptionsince not all filesystems and operating systems support fsyncing on a directory. For regular files we must open for write for the fsync to have an effect.- Parameters:
fileToSync- the file to fsyncisDir- if true, the given file is a directory (we open for read and ignoreIOExceptions, because not all file systems and operating systems allow to fsync on a directory)metaData- iftrueboth the file's content and metadata will be sync, otherwise only the file's content will be sync- Throws:
IOException
-