Package org.apache.commons.io.input
Class ReversedLinesFileReader
java.lang.Object
org.apache.commons.io.input.ReversedLinesFileReader
- All Implemented Interfaces:
Closeable
,AutoCloseable
Reads lines in a file reversely (similar to a BufferedReader, but starting at the last line). Useful for e.g. searching in log files.
To build an instance, use ReversedLinesFileReader.Builder
.
- Since:
- 2.2
- See Also:
-
Nested Class Summary
-
Constructor Summary
ConstructorDescriptionReversedLinesFileReader
(File file) Deprecated.ReversedLinesFileReader
(File file, int blockSize, String charsetName) Deprecated.ReversedLinesFileReader
(File file, int blockSize, Charset charset) Deprecated.ReversedLinesFileReader
(File file, Charset charset) Deprecated.ReversedLinesFileReader
(Path file, int blockSize, String charsetName) Deprecated.ReversedLinesFileReader
(Path file, int blockSize, Charset charset) Deprecated.ReversedLinesFileReader
(Path file, Charset charset) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
Constructs a newReversedLinesFileReader.Builder
.void
close()
Closes underlying resources.readLine()
Returns the lines of the file from bottom to top.readLines
(int lineCount) ReturnslineCount
lines of the file from bottom to top.toString
(int lineCount) Returns the lastlineCount
lines of the file.
-
Constructor Details
-
ReversedLinesFileReader
Deprecated.Constructs a ReversedLinesFileReader with default block size of 4KB and the platform's default encoding.- Parameters:
file
- the file to be read- Throws:
IOException
- if an I/O error occurs.
-
ReversedLinesFileReader
Deprecated.Constructs a ReversedLinesFileReader with default block size of 4KB and the specified encoding.- Parameters:
file
- the file to be readcharset
- the charset to use, null uses the default Charset.- Throws:
IOException
- if an I/O error occurs.- Since:
- 2.5
-
ReversedLinesFileReader
@Deprecated public ReversedLinesFileReader(File file, int blockSize, Charset charset) throws IOException Deprecated.Constructs a ReversedLinesFileReader with the given block size and encoding.- Parameters:
file
- the file to be readblockSize
- size of the internal buffer (for ideal performance this should match with the block size of the underlying file system).charset
- the encoding of the file, null uses the default Charset.- Throws:
IOException
- if an I/O error occurs.- Since:
- 2.3
-
ReversedLinesFileReader
@Deprecated public ReversedLinesFileReader(File file, int blockSize, String charsetName) throws IOException Deprecated.Constructs a ReversedLinesFileReader with the given block size and encoding.- Parameters:
file
- the file to be readblockSize
- size of the internal buffer (for ideal performance this should match with the block size of the underlying file system).charsetName
- the encoding of the file, null uses the default Charset.- Throws:
IOException
- if an I/O error occursUnsupportedCharsetException
- if the encoding is not supported
-
ReversedLinesFileReader
Deprecated.Constructs a ReversedLinesFileReader with default block size of 4KB and the specified encoding.- Parameters:
file
- the file to be readcharset
- the charset to use, null uses the default Charset.- Throws:
IOException
- if an I/O error occurs.- Since:
- 2.7
-
ReversedLinesFileReader
@Deprecated public ReversedLinesFileReader(Path file, int blockSize, Charset charset) throws IOException Deprecated.Constructs a ReversedLinesFileReader with the given block size and encoding.- Parameters:
file
- the file to be readblockSize
- size of the internal buffer (for ideal performance this should match with the block size of the underlying file system).charset
- the encoding of the file, null uses the default Charset.- Throws:
IOException
- if an I/O error occurs.- Since:
- 2.7
-
ReversedLinesFileReader
@Deprecated public ReversedLinesFileReader(Path file, int blockSize, String charsetName) throws IOException Deprecated.Constructs a ReversedLinesFileReader with the given block size and encoding.- Parameters:
file
- the file to be readblockSize
- size of the internal buffer (for ideal performance this should match with the block size of the underlying file system).charsetName
- the encoding of the file, null uses the default Charset.- Throws:
IOException
- if an I/O error occursUnsupportedCharsetException
- if the encoding is not supported- Since:
- 2.7
-
-
Method Details
-
builder
Constructs a newReversedLinesFileReader.Builder
.- Returns:
- a new
ReversedLinesFileReader.Builder
. - Since:
- 2.12.0
-
close
Closes underlying resources.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
- if an I/O error occurs.
-
readLine
Returns the lines of the file from bottom to top.- Returns:
- the next line or null if the start of the file is reached
- Throws:
IOException
- if an I/O error occurs.
-
readLines
ReturnslineCount
lines of the file from bottom to top.If there are less than
lineCount
lines in the file, then that's what you get.Note: You can easily flip the result with
Collections.reverse(List)
.- Parameters:
lineCount
- How many lines to read.- Returns:
- A new list
- Throws:
IOException
- if an I/O error occurs.- Since:
- 2.8.0
-
toString
Returns the lastlineCount
lines of the file.If there are less than
lineCount
lines in the file, then that's what you get.- Parameters:
lineCount
- How many lines to read.- Returns:
- A String.
- Throws:
IOException
- if an I/O error occurs.- Since:
- 2.8.0
-
builder()
,ReversedLinesFileReader.Builder
, andReversedLinesFileReader.Builder.get()