Package oracle.jdbc

Interface OracleBfile

  • All Known Implementing Classes:
    BFILE

    public interface OracleBfile
    This interface defines methods for Oracle specific Bfile. BFILE is an Oracle proprietary data type that provides read-only access to data located outside the database tablespaces.
    Since:
    11.2.0.3.0
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      void close()
      Close a previously opened external LOB.
      void closeFile()
      Close the FILE.
      boolean fileExists()
      Find out if a given BFILE (whose locator) points to a file that actually exists on the server's filesystem.
      InputStream getBinaryStream()
      Retrieve the entire BFILE as a stream.
      InputStream getBinaryStream​(long pos)
      Read from the external LOB as a stream at the requested position.
      byte[] getBytes​(long pos, int length)
      Return a copy of the contents of the BFILE at the requested position.
      int getBytes​(long pos, int length, byte[] buf)
      Copy the contents of the BFILE at the requested position to suppied buffer.
      String getDirAlias()
      Gets the Bfile's directory alias.
      String getName()
      Gets the Bfile's file name.
      boolean isFileOpen()
      Find out whether a BFILE was opened
      boolean isOpen()
      Check whether the external LOB is opened.
      long length()
      The length of the BFILE in bytes.
      void open​(LargeObjectAccessMode mode)
      Open a external LOB in the indicated mode.
      void openFile()
      Open the FILE.
      long position​(byte[] pattern, long start)
      Determine the byte position at which the given byte pattern
      long position​(OracleBfile pattern, long start)
      Determine the byte position at which the given pattern
      default Flow.Publisher<byte[]> publisherOracle​(long position)
      Returns a Publisher that publishes the content of this BFile beginning at the specified position.
    • Method Detail

      • length

        long length()
             throws SQLException
        The length of the BFILE in bytes.
        Returns:
        length of the BFILE in bytes
        Throws:
        SQLException
      • getBytes

        byte[] getBytes​(long pos,
                        int length)
                 throws SQLException
        Return a copy of the contents of the BFILE at the requested position.
        Parameters:
        pos - is the first byte of the bfile to be extracted.(1-based)
        length - is the number of consecutive bytes to be copied.
        Returns:
        a byte array containing a portion of the BFILE
        Throws:
        SQLException
      • getBytes

        int getBytes​(long pos,
                     int length,
                     byte[] buf)
              throws SQLException
        Copy the contents of the BFILE at the requested position to suppied buffer.
        Parameters:
        pos - is the first byte of the bfile to be extracted. (1-based)
        length - is the number of consecutive bytes to be copied.
        buf - is the buffer to had the extracted bytes.
        Returns:
        a byte array containing a portion of the BFILE
        Throws:
        SQLException
      • getBinaryStream

        InputStream getBinaryStream​(long pos)
                             throws SQLException
        Read from the external LOB as a stream at the requested position.
        Parameters:
        pos - is the position of data to be read. The first position is 1.
        Returns:
        a input stream to read data from the BFILE
        Throws:
        SQLException
        Since:
        8.2.0
      • position

        long position​(byte[] pattern,
                      long start)
               throws SQLException
        Determine the byte position at which the given byte pattern
        Parameters:
        pattern - is the pattern to search for.
        start - is the position at which to begin searching. (1-based)
        Returns:
        the position at which the pattern appears, else -1.
        Throws:
        SQLException
      • position

        long position​(OracleBfile pattern,
                      long start)
               throws SQLException
        Determine the byte position at which the given pattern
        Parameters:
        pattern - is the pattern to search for.
        start - is the position at which to begin searching. (1-based)
        Returns:
        the position at which the pattern appears, else -1.
        Throws:
        SQLException
      • getName

        String getName()
                throws SQLException
        Gets the Bfile's file name.
        Parameters:
        bfile - The Bfile for which to get the file name.
        Returns:
        The file name.
        Throws:
        SQLException
      • getDirAlias

        String getDirAlias()
                    throws SQLException
        Gets the Bfile's directory alias.
        Parameters:
        bfile - The Bfile for which to get the directory alias.
        Returns:
        The directory alias name.
        Throws:
        SQLException
      • isFileOpen

        boolean isFileOpen()
                    throws SQLException
        Find out whether a BFILE was opened
        Returns:
        true if the BFILE was opened, false if it was not opened.
        Throws:
        SQLException
      • fileExists

        boolean fileExists()
                    throws SQLException
        Find out if a given BFILE (whose locator) points to a file that actually exists on the server's filesystem.
        Returns:
        true if the physical file exists, false if it does not exist.
        Throws:
        SQLException
      • open

        void open​(LargeObjectAccessMode mode)
           throws SQLException
        Open a external LOB in the indicated mode. Valid modes include MODE_READONLY only. It is an error to open the same LOB twice.
        Throws:
        SQLException
        Since:
        11.2.0.3.0
      • isOpen

        boolean isOpen()
                throws SQLException
        Check whether the external LOB is opened.
        Returns:
        true if the LOB is opened.
        Throws:
        SQLException
        Since:
        8.2.0
      • publisherOracle

        default Flow.Publisher<byte[]> publisherOracle​(long position)
                                                throws SQLException
        Returns a Publisher that publishes the content of this BFile beginning at the specified position. The argument to each call to Subscriber.onNext will contain an implementation defined number of bytes.

        Calling any method of this BFile except fileExists(), getDirAlias(), getName(), or one defined by Object between the time this method is called and the time when the returned publisher terminates will block.

        The returned publisher terminates once all subscribers have received Subscriber.onComplete, received Subscriber.onError, or cancelled their subscription.

        Asynchronous tasks initiated by this method will execute under the current AccessControlContext of the calling thread.

        Parameters:
        position - the position at which to start reading from the BFILE value that this Bfile object represents; The first position is 1
        Returns:
        a Publisher of the content of this BFile
        Throws:
        SQLException - if a database error occurs or if position is less than 1
        Since:
        20