opencard.opt.iso.fs
Class CardRandomRecordAccess
java.lang.Object
|
+--opencard.opt.iso.fs.CardRandomAccess
|
+--opencard.opt.iso.fs.CardRandomRecordAccess
- public class CardRandomRecordAccess
- extends CardRandomAccess
CardRandomRecordAccess provides record-oriented, random access to
structured smart card files. This class supports only linear files of
either fixed or variable record size. There is no random access to cyclic
files. To access transparent files, use CardRandomByteAccess
CardRandomRecordAccess is loosely modeled on
java.io.RandomAccessFile.
- Version:
- $Id: CardRandomRecordAccess.java,v 1.1.1.1 1999/10/05 15:08:47 damke Exp $
- See Also:
RandomAccessFile,
CardRandomByteAccess
|
Method Summary |
long |
getFilePointer()
Returns the current location of the file pointer. |
int |
read(CardRecord[] r)
Reads data into an array of CardRecords.
|
int |
read(CardRecord[] r,
int off,
int len)
Reads a sub array as a sequence of CardRecords. |
CardRecord |
readRecord()
Reads a data record. |
void |
seek(long pos)
Sets the file pointer to the specified absolute position. |
int |
skip(int n)
Skips the number of records specified. |
void |
write(CardRecord r)
Writes a record. |
void |
write(CardRecord[] r)
Writes an array of records. |
void |
write(CardRecord[] r,
int off,
int len)
Writes a slice of a CardRecord array. |
| Methods inherited from class java.lang.Object |
clone,
equals,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
CardRandomRecordAccess
public CardRandomRecordAccess(CardFile scFile)
throws CardTerminalException,
java.io.IOException
- Instantiates a CardRandomRecordAccess.
- Parameters:
scFile - The CardFile object that represents the file on the
smart card.- Throws:
- CardTerminalException - Thrown when the smart card has been removed.
- java.io.IOException - Thrown for all other I/O exceptions.
CardRandomRecordAccess
public CardRandomRecordAccess(CardFile scFile,
java.lang.String accessMode)
throws CardTerminalException,
java.io.IOException
- Instantiates a CardRandomRecordAccess object.
- Parameters:
scFile - The CardFile object that represents the file on the
smart card.accessMode - Specifies whether the card is accessed for read "r" or
read and write "rw".- Throws:
- CardTerminalException - Thrown when the smart card has been removed.
- java.io.IOException - Thrown for all other I/O exceptions.
getFilePointer
public long getFilePointer()
throws java.io.IOException,
CardTerminalException
- Returns the current location of the file pointer.
- Returns:
- The current location of the file pointer.
- Throws:
- java.io.IOException - Thrown if an I/O error has occurred.
- CardTerminalException - Thrown when the smart card has been removed.
- java.io.IOException - Thrown for all other I/O exceptions.
seek
public void seek(long pos)
throws java.io.EOFException,
CardTerminalException
- Sets the file pointer to the specified absolute position.
- Parameters:
pos - The absolute position- Throws:
- java.io.EOFException - Thrown if the seeked position is behind the end of the file.
For linear variable files, this cannot be checked. An error
will occur on the subsequent read or write operation.
- CardTerminalException - Thrown when the smart card has been removed.
skip
public int skip(int n)
throws java.io.EOFException,
CardTerminalException
- Skips the number of records specified.
- Parameters:
n - The number of records to skip- Throws:
- java.io.EOFException - EOF reached before all records have been skipped.
This cannot be checked for linear variable files.
- CardTerminalException - Thrown when the smart card has been removed.
readRecord
public CardRecord readRecord()
throws java.io.IOException,
CardTerminalException
- Reads a data record. This method will block if no input is
available.
- Returns:
- The record read, or null if the
end of the file is reached.
- Throws:
- java.io.IOException - Thrown if an I/O error has occurred.
- CardTerminalException - Thrown when the smart card has been removed.
read
public int read(CardRecord[] r)
throws java.io.IOException,
CardTerminalException
- Reads data into an array of CardRecords.
This method blocks until some input is available.
- Parameters:
r - The CardRecord array to store the records in.- Returns:
- The actual number of records read, -1 is returned if
the end of the file is reached.
- Throws:
- java.io.IOException - Thrown if an I/O error has occurred.
- CardTerminalException - Thrown when the smart card has been removed.
read
public int read(CardRecord[] r,
int off,
int len)
throws java.io.IOException,
CardTerminalException
- Reads a sub array as a sequence of CardRecords.
- Parameters:
r - The data to be readoff - The start offset in the datalen - The number of records to be read- Returns:
- The actual number of records read, -1 is returned if
the end of the stream is reached.
- Throws:
- java.io.IOException - Thrown if an I/O error has occurred.
- CardTerminalException - Thrown when the smart card has been removed.
write
public void write(CardRecord r)
throws java.io.IOException,
CardTerminalException
- Writes a record. This method will block until the record is
actually written.
- Parameters:
r - The record to be written- Throws:
- java.io.IOException - Thrown if an I/O error has occurred.
- CardTerminalException - Thrown when the smart card has been removed.
write
public void write(CardRecord[] r)
throws java.io.IOException,
CardTerminalException
- Writes an array of records. Will block until the records are
actually written.
- Parameters:
r - The records to be written- Throws:
- java.io.IOException - Thrown if an I/O error has occurred.
- CardTerminalException - Thrown when the smart card has been removed.
write
public void write(CardRecord[] r,
int off,
int len)
throws java.io.IOException,
CardTerminalException
- Writes a slice of a CardRecord array.
- Parameters:
r - The data to be writtenoff - The start offset in the datalen - The number of records to be written- Throws:
- java.io.IOException - Thrown if an I/O error has occurred.
- CardTerminalException - Thrown when the smart card has been removed.
|