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 openedboolean
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 patternlong
position(OracleBfile pattern, long start)
Determine the byte position at which the given patterndefault Flow.Publisher<byte[]>
publisherOracle(long position)
Returns aPublisher
that publishes the content of thisBFile
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() throws SQLException
Retrieve the entire BFILE as a stream.- Returns:
- a stream containing the BFILE data
- 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
-
openFile
void openFile() throws SQLException
Open the FILE.- 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
-
closeFile
void closeFile() throws SQLException
Close the FILE.- 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
-
close
void close() throws SQLException
Close a previously opened external LOB.- Throws:
SQLException
- Since:
- 8.2.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 aPublisher
that publishes the content of thisBFile
beginning at the specified position. The argument to each call toSubscriber.onNext
will contain an implementation defined number of bytes.Calling any method of this
BFile
exceptfileExists()
,getDirAlias()
,getName()
, or one defined byObject
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
, receivedSubscriber.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 thisBfile
object represents; The first position is 1- Returns:
- a
Publisher
of the content of thisBFile
- Throws:
SQLException
- if a database error occurs or ifposition
is less than 1- Since:
- 20
-
-