Class FileUtils


  • public class FileUtils
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String langN3  
      static java.lang.String langNTriple  
      static java.lang.String langTurtle  
      static java.lang.String langXML  
      static java.lang.String langXMLAbbrev  
    • Constructor Summary

      Constructors 
      Constructor Description
      FileUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static java.io.BufferedReader asBufferedUTF8​(java.io.InputStream in)
      Create a buffered reader that uses UTF-8 encoding
      static java.io.PrintWriter asPrintWriterUTF8​(java.io.OutputStream out)
      Create a print writer that uses UTF-8 encoding
      static java.io.Reader asUTF8​(java.io.InputStream in)
      Create a reader that uses UTF-8 encoding
      static java.io.Writer asUTF8​(java.io.OutputStream out)
      Create a writer that uses UTF-8 encoding
      static java.lang.String decodeFileName​(java.lang.String s)  
      static java.lang.String getDirname​(java.lang.String filename)
      Get the directory part of a filename
      static java.lang.String getFilenameExt​(java.lang.String filename)
      Get the suffix part of a file name or a URL in file-like format.
      static java.lang.String getScheme​(java.lang.String uri)
      static java.io.File getScratchDirectory​(java.lang.String prefix)
      Answer a File naming a freshly-created directory in the temporary directory.
      static java.lang.String getTempDirectory()  
      static java.lang.String guessLang​(java.lang.String urlStr)
      Guess the language/type of model data If the URI ends ".rdf", it is assumed to be RDF/XML If the URI ends ".nt", it is assumed to be N-Triples If the URI ends ".ttl", it is assumed to be Turtle If the URI ends ".owl", it is assumed to be RDF/XML
      static java.lang.String guessLang​(java.lang.String name, java.lang.String otherwise)
      Guess the language/type of model data.
      static boolean isFile​(java.lang.String name)
      Check whether 'name' is possibly a file reference
      static boolean isURI​(java.lang.String name)
      Check whether a name is an absolute URI (has a scheme name)
      static java.io.BufferedReader openResourceFile​(java.lang.String filename)
      Answer a BufferedReader than reads from the named resource file as UTF-8, possibly throwing WrappedIOExceptions.
      static java.io.InputStream openResourceFileAsStream​(java.lang.String filename)
      Open an resource file for reading.
      static java.io.BufferedReader readerFromURL​(java.lang.String urlStr)  
      static java.lang.String readWholeFileAsUTF8​(java.io.InputStream in)
      Read a whole stream as UTF-8
      static java.lang.String readWholeFileAsUTF8​(java.lang.String filename)
      Read a whole file as UTF-8
      static java.io.File tempFileName​(java.lang.String prefix, java.lang.String suffix)
      create a temporary file that will be deleted on exit, and do something sensible with any IO exceptions - namely, throw them up wrapped in a JenaException.
      static java.lang.String toFilename​(java.lang.String filenameOrURI)
      Deprecated.
      Use IRILib.IRIToFilename.
      • Methods inherited from class java.lang.Object

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

      • FileUtils

        public FileUtils()
    • Method Detail

      • asUTF8

        public static java.io.Reader asUTF8​(java.io.InputStream in)
        Create a reader that uses UTF-8 encoding
      • asBufferedUTF8

        public static java.io.BufferedReader asBufferedUTF8​(java.io.InputStream in)
        Create a buffered reader that uses UTF-8 encoding
      • asUTF8

        public static java.io.Writer asUTF8​(java.io.OutputStream out)
        Create a writer that uses UTF-8 encoding
      • asPrintWriterUTF8

        public static java.io.PrintWriter asPrintWriterUTF8​(java.io.OutputStream out)
        Create a print writer that uses UTF-8 encoding
      • guessLang

        public static java.lang.String guessLang​(java.lang.String name,
                                                 java.lang.String otherwise)
        Guess the language/type of model data.
        • If the URI ends ".rdf", it is assumed to be RDF/XML
        • If the URI ends ".nt", it is assumed to be N-Triples
        • If the URI ends ".ttl", it is assumed to be Turtle
        • If the URI ends ".owl", it is assumed to be RDF/XML
        Parameters:
        name - URL to base the guess on
        otherwise - Default guess
        Returns:
        String Guessed syntax - or the default supplied
      • guessLang

        public static java.lang.String guessLang​(java.lang.String urlStr)
        Guess the language/type of model data
        • If the URI ends ".rdf", it is assumed to be RDF/XML
        • If the URI ends ".nt", it is assumed to be N-Triples
        • If the URI ends ".ttl", it is assumed to be Turtle
        • If the URI ends ".owl", it is assumed to be RDF/XML
        Parameters:
        urlStr - URL to base the guess on
        Returns:
        String Guessed syntax - default is RDF/XML
      • toFilename

        @Deprecated
        public static java.lang.String toFilename​(java.lang.String filenameOrURI)
        Deprecated.
        Use IRILib.IRIToFilename.
        Turn a file: URL or file name into a plain file name
      • decodeFileName

        public static java.lang.String decodeFileName​(java.lang.String s)
      • isFile

        public static boolean isFile​(java.lang.String name)
        Check whether 'name' is possibly a file reference
        Parameters:
        name -
        Returns:
        boolean False if clearly not a filename.
      • isURI

        public static boolean isURI​(java.lang.String name)
        Check whether a name is an absolute URI (has a scheme name)
        Parameters:
        name -
        Returns:
        boolean True if there is a scheme name
      • getScheme

        @Deprecated
        public static java.lang.String getScheme​(java.lang.String uri)
        Get the URI scheme at the start of the string. This is the substring up to, and excluding, the first ":" if it conforms to the syntax requirements. Return null if it does not look like a scheme.

        The RFC 3986 URI grammar defines scheme as:

         URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
         scheme      = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
         ...
         
      • getDirname

        public static java.lang.String getDirname​(java.lang.String filename)
        Get the directory part of a filename
        Parameters:
        filename -
        Returns:
        Directory name
      • getFilenameExt

        public static java.lang.String getFilenameExt​(java.lang.String filename)
        Get the suffix part of a file name or a URL in file-like format.
      • tempFileName

        public static java.io.File tempFileName​(java.lang.String prefix,
                                                java.lang.String suffix)
        create a temporary file that will be deleted on exit, and do something sensible with any IO exceptions - namely, throw them up wrapped in a JenaException.
        Parameters:
        prefix - the prefix for File.createTempFile
        suffix - the suffix for File.createTempFile
        Returns:
        the temporary File
      • getScratchDirectory

        public static java.io.File getScratchDirectory​(java.lang.String prefix)
        Answer a File naming a freshly-created directory in the temporary directory. This directory should be deleted on exit. TODO handle threading issues, mkdir failure, and better cleanup
        Parameters:
        prefix - the prefix for the directory name
        Returns:
        a File naming the new directory
      • getTempDirectory

        public static java.lang.String getTempDirectory()
      • openResourceFile

        public static java.io.BufferedReader openResourceFile​(java.lang.String filename)
        Answer a BufferedReader than reads from the named resource file as UTF-8, possibly throwing WrappedIOExceptions.
      • openResourceFileAsStream

        public static java.io.InputStream openResourceFileAsStream​(java.lang.String filename)
                                                            throws java.io.FileNotFoundException
        Open an resource file for reading.
        Throws:
        java.io.FileNotFoundException
      • readerFromURL

        public static java.io.BufferedReader readerFromURL​(java.lang.String urlStr)
      • readWholeFileAsUTF8

        public static java.lang.String readWholeFileAsUTF8​(java.lang.String filename)
                                                    throws java.io.IOException
        Read a whole file as UTF-8
        Parameters:
        filename -
        Returns:
        String
        Throws:
        java.io.IOException
      • readWholeFileAsUTF8

        public static java.lang.String readWholeFileAsUTF8​(java.io.InputStream in)
                                                    throws java.io.IOException
        Read a whole stream as UTF-8
        Parameters:
        in - InputStream to be read
        Returns:
        String
        Throws:
        java.io.IOException