Class IOUtils
This class emulates the new Java 7 "Try-With-Resources" statement. Remove once Lucene is on Java 7.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Inherited Members
Namespace: Lucene.Net.Util
Assembly: Lucene.Net.dll
Syntax
public static class IOUtils
  Fields
CHARSET_UTF_8
UTF-8 Encoding instance to prevent repeated UTF8 lookups and match Java's behavior with respect to a lack of a byte-order mark (BOM).
Declaration
public static readonly Encoding CHARSET_UTF_8
  Field Value
| Type | Description | 
|---|---|
| Encoding | 
UTF_8
UTF-8 charset string.
Where possible, use UTF8 instead, as using the string constant may slow things down.Declaration
public static readonly string UTF_8
  Field Value
| Type | Description | 
|---|---|
| string | 
See Also
Methods
Close(IEnumerable<IDisposable>)
Disposes all given IDisposables.
Declaration
[Obsolete("Use Dispose(IEnumerable<IDisposable>) instead.")]
public static void Close(IEnumerable<IDisposable> objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IEnumerable<IDisposable> | objects | 
See Also
Close(params IDisposable[])
Disposes all given IDisposables.  Some of the
IDisposables may be null; they are
ignored.  After everything is closed, the method either
throws the first exception it hit while closing, or
completes normally if there were no exceptions.
Declaration
[Obsolete("Use Dispose(params IDisposable[]) instead.")]
public static void Close(params IDisposable[] objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IDisposable[] | objects | Objects to call Dispose() on  | 
      
CloseWhileHandlingException(IEnumerable<IDisposable>)
Disposes all given IDisposables, suppressing all thrown exceptions.
Declaration
[Obsolete("Use DisposeWhileHandlingException(IEnumerable<IDisposable>) instead.")]
public static void CloseWhileHandlingException(IEnumerable<IDisposable> objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IEnumerable<IDisposable> | objects | 
See Also
CloseWhileHandlingException(Exception, IEnumerable<IDisposable>)
Disposes all given IDisposables, suppressing all thrown exceptions.
Declaration
[Obsolete("Use DisposeWhileHandlingException(Exception, IEnumerable<IDisposable>) instead.")]
public static void CloseWhileHandlingException(Exception priorException, IEnumerable<IDisposable> objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Exception | priorException | |
| IEnumerable<IDisposable> | objects | 
See Also
CloseWhileHandlingException(Exception, params IDisposable[])
Disposes all given IDisposables, suppressing all thrown exceptions. Some of the IDisposables
may be null, they are ignored. After everything is disposed, method either throws priorException,
if one is supplied, or the first of suppressed exceptions, or completes normally.
Sample usage:
IDisposable resource1 = null, resource2 = null, resource3 = null;
ExpectedException priorE = null;
try
{
    resource1 = ...; resource2 = ...; resource3 = ...; // Acquisition may throw ExpectedException
    ..do..stuff.. // May throw ExpectedException
}
catch (ExpectedException e)
{
    priorE = e;
}
finally
{
    IOUtils.CloseWhileHandlingException(priorE, resource1, resource2, resource3);
}
Declaration
[Obsolete("Use DisposeWhileHandlingException(Exception, params IDisposable[]) instead.")]
public static void CloseWhileHandlingException(Exception priorException, params IDisposable[] objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Exception | priorException | 
  | 
      
| IDisposable[] | objects | Objects to call Dispose() on.  | 
      
CloseWhileHandlingException(params IDisposable[])
Disposes all given IDisposables, suppressing all thrown exceptions.
Some of the IDisposables may be null, they are ignored.
Declaration
[Obsolete("Use DisposeWhileHandlingException(params IDisposable[]) instead.")]
public static void CloseWhileHandlingException(params IDisposable[] objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IDisposable[] | objects | Objects to call Dispose() on  | 
      
Copy(FileInfo, FileInfo)
Copy one file's contents to another file. The target will be overwritten if it exists. The source must exist.
Declaration
public static void Copy(FileInfo source, FileInfo target)
  Parameters
| Type | Name | Description | 
|---|---|---|
| FileInfo | source | |
| FileInfo | target | 
DeleteFilesIgnoringExceptions(Directory, params string[])
Deletes all given files, suppressing all thrown Exceptions.
Note that the files should not benull.
Declaration
public static void DeleteFilesIgnoringExceptions(Directory dir, params string[] files)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Directory | dir | |
| string[] | files | 
Dispose(IEnumerable<IDisposable>)
Disposes all given IDisposables.
Declaration
public static void Dispose(IEnumerable<IDisposable> objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IEnumerable<IDisposable> | objects | 
See Also
Dispose(params IDisposable[])
Disposes all given IDisposables.  Some of the
IDisposables may be null; they are
ignored.  After everything is closed, the method either
throws the first exception it hit while closing, or
completes normally if there were no exceptions.
Declaration
public static void Dispose(params IDisposable[] objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IDisposable[] | objects | Objects to call Dispose() on  | 
      
DisposeWhileHandlingException(IEnumerable<IDisposable>)
Disposes all given IDisposables, suppressing all thrown exceptions.
Declaration
public static void DisposeWhileHandlingException(IEnumerable<IDisposable> objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IEnumerable<IDisposable> | objects | 
See Also
DisposeWhileHandlingException(Exception, IEnumerable<IDisposable>)
Disposes all given IDisposables, suppressing all thrown exceptions.
Declaration
public static void DisposeWhileHandlingException(Exception priorException, IEnumerable<IDisposable> objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Exception | priorException | |
| IEnumerable<IDisposable> | objects | 
See Also
DisposeWhileHandlingException(Exception, params IDisposable[])
Disposes all given IDisposables, suppressing all thrown exceptions. Some of the IDisposables
may be null, they are ignored. After everything is disposed, method either throws priorException,
if one is supplied, or the first of suppressed exceptions, or completes normally.
Sample usage:
IDisposable resource1 = null, resource2 = null, resource3 = null;
ExpectedException priorE = null;
try
{
    resource1 = ...; resource2 = ...; resource3 = ...; // Acquisition may throw ExpectedException
    ..do..stuff.. // May throw ExpectedException
}
catch (ExpectedException e)
{
    priorE = e;
}
finally
{
    IOUtils.DisposeWhileHandlingException(priorE, resource1, resource2, resource3);
}
Declaration
public static void DisposeWhileHandlingException(Exception priorException, params IDisposable[] objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Exception | priorException | 
  | 
      
| IDisposable[] | objects | Objects to call Dispose() on.  | 
      
DisposeWhileHandlingException(params IDisposable[])
Disposes all given IDisposables, suppressing all thrown exceptions.
Some of the IDisposables may be null, they are ignored.
Declaration
public static void DisposeWhileHandlingException(params IDisposable[] objects)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IDisposable[] | objects | Objects to call Dispose() on  | 
      
Fsync(string, bool)
This class emulates the new Java 7 "Try-With-Resources" statement. Remove once Lucene is on Java 7.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Declaration
public static void Fsync(string fileToSync, bool isDir)
  Parameters
| Type | Name | Description | 
|---|---|---|
| string | fileToSync | |
| bool | isDir | 
GetDecodingReader(FileInfo, Encoding)
Opens a TextReader for the given FileInfo using a Encoding. Unlike Java's defaults this reader will throw an exception if your it detects the read charset doesn't match the expected Encoding.
Decoding readers are useful to load configuration files, stopword lists or synonym files to detect character set problems. However, its not recommended to use as a common purpose reader.Declaration
public static TextReader GetDecodingReader(FileInfo file, Encoding charSet)
  Parameters
| Type | Name | Description | 
|---|---|---|
| FileInfo | file | The file to open a reader on  | 
      
| Encoding | charSet | The expected charset  | 
      
Returns
| Type | Description | 
|---|---|
| TextReader | A reader to read the given file  | 
      
GetDecodingReader(Stream, Encoding)
Wrapping the given Stream in a reader using a Encoding. Unlike Java's defaults this reader will throw an exception if your it detects the read charset doesn't match the expected Encoding.
Decoding readers are useful to load configuration files, stopword lists or synonym files to detect character set problems. However, its not recommended to use as a common purpose reader.Declaration
public static TextReader GetDecodingReader(Stream stream, Encoding charSet)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Stream | stream | The stream to wrap in a reader  | 
      
| Encoding | charSet | The expected charset  | 
      
Returns
| Type | Description | 
|---|---|
| TextReader | A wrapping reader  | 
      
GetDecodingReader(Type, string, Encoding)
Opens a TextReader for the given resource using a Encoding. Unlike Java's defaults this reader will throw an exception if your it detects the read charset doesn't match the expected Encoding.
Decoding readers are useful to load configuration files, stopword lists or synonym files to detect character set problems. However, its not recommended to use as a common purpose reader.Declaration
public static TextReader GetDecodingReader(Type clazz, string resource, Encoding charSet)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Type | clazz | The class used to locate the resource  | 
      
| string | resource | The resource name to load  | 
      
| Encoding | charSet | The expected charset  | 
      
Returns
| Type | Description | 
|---|---|
| TextReader | A reader to read the given file  | 
      
ReThrow(Exception)
Simple utilty method that takes a previously caught
Exception and rethrows either
IOException or an unchecked exception.  If the
argument is null then this method does nothing.
Declaration
public static void ReThrow(Exception th)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Exception | th | 
ReThrowUnchecked(Exception)
Simple utilty method that takes a previously caught
Exception and rethrows it as an unchecked exception.
If the argument is null then this method does nothing.
Declaration
public static void ReThrowUnchecked(Exception th)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Exception | th |