Class Scanner


  • public class Scanner
    extends java.lang.Object
    Splits up a character stream into tokens and returns them as String objects.

    The optionalFileName parameter passed to many constructors should point

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  Scanner.Token  
    • Constructor Summary

      Constructors 
      Constructor Description
      Scanner​(java.io.File file)
      Deprecated. 
      Scanner​(java.io.File file, java.lang.String optionalEncoding)
      Deprecated. 
      Scanner​(java.lang.String fileName)
      Deprecated. 
      Scanner​(java.lang.String optionalFileName, java.io.InputStream is)
      Set up a scanner that reads tokens from the given InputStream in the platform default encoding.
      Scanner​(java.lang.String optionalFileName, java.io.InputStream is, java.lang.String optionalEncoding)
      Set up a scanner that reads tokens from the given InputStream with the given optionalEncoding (null means platform default encoding).
      Scanner​(java.lang.String optionalFileName, java.io.Reader in)
      Set up a scanner that reads tokens from the given Reader.
      Scanner​(java.lang.String optionalFileName, java.io.Reader in, short initialLineNumber, short initialColumnNumber)
      Creates a Scanner that counts lines and columns from non-default initial values.
      Scanner​(java.lang.String fileName, java.lang.String encoding)
      Deprecated. 
    • Constructor Detail

      • Scanner

        @Deprecated
        public Scanner​(java.lang.String fileName)
                throws CompileException,
                       java.io.IOException
        Deprecated.
        Set up a scanner that reads tokens from the given file in the default charset.

        This method is deprecated because it leaves the input file open.

        Throws:
        CompileException
        java.io.IOException
      • Scanner

        @Deprecated
        public Scanner​(java.lang.String fileName,
                       java.lang.String encoding)
                throws CompileException,
                       java.io.IOException
        Deprecated.
        Set up a scanner that reads tokens from the given file in the given encoding.

        This method is deprecated because it leaves the input file open.

        Throws:
        CompileException
        java.io.IOException
      • Scanner

        @Deprecated
        public Scanner​(java.io.File file)
                throws CompileException,
                       java.io.IOException
        Deprecated.
        Set up a scanner that reads tokens from the given file in the platform default encoding.

        This method is deprecated because it leaves the input file open.

        Throws:
        CompileException
        java.io.IOException
      • Scanner

        @Deprecated
        public Scanner​(java.io.File file,
                       java.lang.String optionalEncoding)
                throws CompileException,
                       java.io.IOException
        Deprecated.
        Set up a scanner that reads tokens from the given file in the given encoding.

        This method is deprecated because it leaves the input file open.

        Throws:
        CompileException
        java.io.IOException
      • Scanner

        public Scanner​(java.lang.String optionalFileName,
                       java.io.InputStream is)
                throws CompileException,
                       java.io.IOException
        Set up a scanner that reads tokens from the given InputStream in the platform default encoding.

        The fileName is solely used for reporting in thrown exceptions.

        Throws:
        CompileException
        java.io.IOException
      • Scanner

        public Scanner​(java.lang.String optionalFileName,
                       java.io.InputStream is,
                       java.lang.String optionalEncoding)
                throws CompileException,
                       java.io.IOException
        Set up a scanner that reads tokens from the given InputStream with the given optionalEncoding (null means platform default encoding).

        The optionalFileName is used for reporting errors during compilation and for source level debugging, and should name an existing file. If null is passed, and the system property org.codehaus.janino.source_debugging.enable is set to "true", then a temporary file in org.codehaus.janino.source_debugging.dir or the system's default temp dir is created in order to make the source code available to a debugger.

        Throws:
        CompileException
        java.io.IOException
      • Scanner

        public Scanner​(java.lang.String optionalFileName,
                       java.io.Reader in)
                throws CompileException,
                       java.io.IOException
        Set up a scanner that reads tokens from the given Reader.

        The optionalFileName is used for reporting errors during compilation and for source level debugging, and should name an existing file. If null is passed, and the system property org.codehaus.janino.source_debugging.enable is set to "true", then a temporary file in org.codehaus.janino.source_debugging.dir or the system's default temp dir is created in order to make the source code available to a debugger.

        Throws:
        CompileException
        java.io.IOException
      • Scanner

        public Scanner​(java.lang.String optionalFileName,
                       java.io.Reader in,
                       short initialLineNumber,
                       short initialColumnNumber)
                throws CompileException,
                       java.io.IOException
        Creates a Scanner that counts lines and columns from non-default initial values.
        Throws:
        CompileException
        java.io.IOException
    • Method Detail

      • getFileName

        public java.lang.String getFileName()
        Return the file name optionally passed to the constructor.
      • close

        @Deprecated
        public void close()
                   throws java.io.IOException
        Deprecated.
        This method is deprecated, because the concept described above is confusing. An application should close the underlying InputStream or Reader itself.
        Closes the character source (file, InputStream, Reader) associated with this object. The results of future calls to produce() are undefined.
        Throws:
        java.io.IOException
      • doc

        public java.lang.String doc()
        Get the text of the doc comment (a.k.a. "JAVADOC comment") preceeding the next token.
        Returns:
        null if the next token is not preceeded by a doc comment
      • location

        public Location location()
        Returns the Location of the next character.
      • setWarningHandler

        public void setWarningHandler​(WarningHandler optionalWarningHandler)
        By default, warnings are discarded, but an application my install a WarningHandler.

        Notice that there is no Scanner.setErrorHandler() method, but scan errors always throw a CompileException. The reason being is that there is no reasonable way to recover from scan errors and continue scanning, so there is no need to install a custom scan error handler.

        Parameters:
        optionalWarningHandler - null to indicate that no warnings be issued