java.lang.Object
javax.smartcardio.CardTerminal
智能卡终端,有时称为智能卡阅读器。可以通过调用CardTerminals.list()或CardTerminals.getTerminal()来获取CardTerminal对象。
请注意,具有多个卡槽的物理读卡器由每个卡槽表示一个CardTerminal
对象。
- 自版本:
- 1.6
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract Card
建立与卡的连接。abstract String
getName()
返回此终端的唯一名称。abstract boolean
返回此终端是否存在卡。abstract boolean
waitForCardAbsent
(long timeout) 等待直到此终端中没有卡或超时到期。abstract boolean
waitForCardPresent
(long timeout) 等待直到此终端中存在卡或超时到期。
-
Constructor Details
-
CardTerminal
protected CardTerminal()构造一个新的CardTerminal对象。此构造函数仅由子类调用。应用程序应调用list()或getTerminal()来获取CardTerminal对象。
-
-
Method Details
-
getName
返回此终端的唯一名称。- 返回:
- 此终端的唯一名称。
-
connect
建立与卡的连接。如果先前使用指定协议建立了连接,则此方法返回与先前调用相同的Card对象。- 参数:
-
protocol
- 要使用的协议("T=0","T=1"或"T=CL"),或"*"以使用任何可用协议连接。 - 返回:
- 已建立连接的卡
- 抛出:
-
NullPointerException
- 如果协议为null -
IllegalArgumentException
- 如果协议是无效的协议规范 -
CardNotPresentException
- 如果此终端中没有卡 -
CardException
- 如果无法使用指定协议建立连接,或者如果先前使用不同协议建立了连接 -
SecurityException
- 如果存在SecurityManager并且调用者没有所需的权限
-
isCardPresent
返回此终端是否存在卡。- 返回:
- 此终端是否存在卡。
- 抛出:
-
CardException
- 如果无法确定状态
-
waitForCardPresent
等待直到此终端中存在卡或超时到期。如果方法由于超时到期而返回,则返回false。否则返回true。如果在调用此方法时此终端中存在卡,它将立即返回。
- 参数:
-
timeout
- 如果为正数,则最多阻塞timeout
毫秒;如果为零,则无限期阻塞;不得为负数 - 返回:
- 如果方法由于超时到期而返回,则返回false,否则返回true。
- 抛出:
-
IllegalArgumentException
- 如果超时为负数 -
CardException
- 如果操作失败
-
waitForCardAbsent
等待直到此终端中不存在卡或超时到期。如果方法由于超时到期而返回,则返回false。否则返回true。如果在调用此方法时此终端中不存在卡,它将立即返回。
- 参数:
-
timeout
- 如果为正数,则最多阻塞timeout
毫秒;如果为零,则无限期阻塞;不得为负数 - 返回:
- 如果方法由于超时到期而返回,则返回false,否则返回true。
- 抛出:
-
IllegalArgumentException
- 如果超时为负数 -
CardException
- 如果操作失败
-