Class ReversedLinesFileReader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class ReversedLinesFileReader
    extends java.lang.Object
    implements java.io.Closeable
    Reads lines in a file reversely (similar to a BufferedReader, but starting at the last line). Useful for e.g. searching in log files.
    Since:
    2.2
    • Constructor Summary

      Constructors 
      Constructor Description
      ReversedLinesFileReader​(java.io.File file)
      Deprecated.
      ReversedLinesFileReader​(java.io.File file, int blockSize, java.lang.String encoding)
      Creates a ReversedLinesFileReader with the given block size and encoding.
      ReversedLinesFileReader​(java.io.File file, int blockSize, java.nio.charset.Charset encoding)
      Creates a ReversedLinesFileReader with the given block size and encoding.
      ReversedLinesFileReader​(java.io.File file, java.nio.charset.Charset charset)
      Creates a ReversedLinesFileReader with default block size of 4KB and the specified encoding.
      ReversedLinesFileReader​(java.nio.file.Path file, int blockSize, java.lang.String charsetName)
      Creates a ReversedLinesFileReader with the given block size and encoding.
      ReversedLinesFileReader​(java.nio.file.Path file, int blockSize, java.nio.charset.Charset encoding)
      Creates a ReversedLinesFileReader with the given block size and encoding.
      ReversedLinesFileReader​(java.nio.file.Path file, java.nio.charset.Charset charset)
      Creates a ReversedLinesFileReader with default block size of 4KB and the specified encoding.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Closes underlying resources.
      java.lang.String readLine()
      Returns the lines of the file from bottom to top.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ReversedLinesFileReader

        @Deprecated
        public ReversedLinesFileReader​(java.io.File file)
                                throws java.io.IOException
        Deprecated.
        Creates a ReversedLinesFileReader with default block size of 4KB and the platform's default encoding.
        Parameters:
        file - the file to be read
        Throws:
        java.io.IOException - if an I/O error occurs
      • ReversedLinesFileReader

        public ReversedLinesFileReader​(java.io.File file,
                                       java.nio.charset.Charset charset)
                                throws java.io.IOException
        Creates a ReversedLinesFileReader with default block size of 4KB and the specified encoding.
        Parameters:
        file - the file to be read
        charset - the charset to use
        Throws:
        java.io.IOException - if an I/O error occurs
        Since:
        2.5
      • ReversedLinesFileReader

        public ReversedLinesFileReader​(java.nio.file.Path file,
                                       java.nio.charset.Charset charset)
                                throws java.io.IOException
        Creates a ReversedLinesFileReader with default block size of 4KB and the specified encoding.
        Parameters:
        file - the file to be read
        charset - the charset to use
        Throws:
        java.io.IOException - if an I/O error occurs
        Since:
        2.7
      • ReversedLinesFileReader

        public ReversedLinesFileReader​(java.io.File file,
                                       int blockSize,
                                       java.nio.charset.Charset encoding)
                                throws java.io.IOException
        Creates a ReversedLinesFileReader with the given block size and encoding.
        Parameters:
        file - the file to be read
        blockSize - size of the internal buffer (for ideal performance this should match with the block size of the underlying file system).
        encoding - the encoding of the file
        Throws:
        java.io.IOException - if an I/O error occurs
        Since:
        2.3
      • ReversedLinesFileReader

        public ReversedLinesFileReader​(java.nio.file.Path file,
                                       int blockSize,
                                       java.nio.charset.Charset encoding)
                                throws java.io.IOException
        Creates a ReversedLinesFileReader with the given block size and encoding.
        Parameters:
        file - the file to be read
        blockSize - size of the internal buffer (for ideal performance this should match with the block size of the underlying file system).
        encoding - the encoding of the file
        Throws:
        java.io.IOException - if an I/O error occurs
        Since:
        2.7
      • ReversedLinesFileReader

        public ReversedLinesFileReader​(java.io.File file,
                                       int blockSize,
                                       java.lang.String encoding)
                                throws java.io.IOException
        Creates a ReversedLinesFileReader with the given block size and encoding.
        Parameters:
        file - the file to be read
        blockSize - size of the internal buffer (for ideal performance this should match with the block size of the underlying file system).
        encoding - the encoding of the file
        Throws:
        java.io.IOException - if an I/O error occurs
        java.nio.charset.UnsupportedCharsetException - thrown instead of UnsupportedEncodingException in version 2.2 if the encoding is not supported.
      • ReversedLinesFileReader

        public ReversedLinesFileReader​(java.nio.file.Path file,
                                       int blockSize,
                                       java.lang.String charsetName)
                                throws java.io.IOException
        Creates a ReversedLinesFileReader with the given block size and encoding.
        Parameters:
        file - the file to be read
        blockSize - 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
        Throws:
        java.io.IOException - if an I/O error occurs
        java.nio.charset.UnsupportedCharsetException - thrown instead of UnsupportedEncodingException in version 2.2 if the encoding is not supported.
        Since:
        2.7
    • Method Detail

      • readLine

        public java.lang.String readLine()
                                  throws java.io.IOException
        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:
        java.io.IOException - if an I/O error occurs
      • close

        public void close()
                   throws java.io.IOException
        Closes underlying resources.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException - if an I/O error occurs