类 CardTerminal

java.lang.Object
javax.smartcardio.CardTerminal

public abstract class CardTerminal extends Object
智能卡终端,有时称为智能卡读卡器。可以通过调用 CardTerminals.list()CardTerminals.getTerminal() 获得 CardTerminal 对象。

请注意,具有多个卡插槽的物理读卡器由每个此类插槽的一个 CardTerminal 对象表示。

自从:
1.6
参见:
  • 构造方法详细信息

    • CardTerminal

      protected CardTerminal()
      构造一个新的 CardTerminal 对象。

      此构造函数仅由子类调用。应用程序应调用 list()getTerminal() 来获取 CardTerminal 对象。

  • 方法详情

    • getName

      public abstract String  getName()
      返回此终端的唯一名称。
      返回:
      此终端的唯一名称。
    • connect

      public abstract Card  connect(String  protocol) throws CardException
      建立与卡的连接。如果先前已使用指定协议建立连接,则此方法返回与先前调用相同的 Card 对象。
      参数:
      protocol - 要使用的协议(“T=0”、“T=1”或“T=CL”),或“*”以使用任何可用协议进行连接。
      返回:
      建立连接的卡
      抛出:
      NullPointerException - 如果协议为空
      IllegalArgumentException - 如果协议是无效的协议规范
      CardNotPresentException - 如果此终端中没有卡
      CardException - 如果无法使用指定的协议建立连接,或者如果先前已使用不同的协议建立连接
      SecurityException - 如果存在 SecurityManager 并且调用者没有所需的 允许
    • isCardPresent

      public abstract boolean isCardPresent() throws CardException
      返回此终端中是否存在卡。
      返回:
      此终端中是否存在卡。
      抛出:
      CardException - 如果无法确定状态
    • waitForCardPresent

      public abstract boolean waitForCardPresent(long timeout) throws CardException
      等待直到此终端中出现卡或超时到期。如果该方法由于超时而返回,则返回 false。否则返回真。

      如果调用此方法时此终端中存在卡片,则它会立即返回。

      参数:
      timeout - 如果为正,则最多阻塞 timeout 毫秒;如果为零,则无限期阻塞;不得为负
      返回:
      如果方法由于超时过期而返回,则为 false,否则为 true。
      抛出:
      IllegalArgumentException - 如果超时为负
      CardException - 如果操作失败
    • waitForCardAbsent

      public abstract boolean waitForCardAbsent(long timeout) throws CardException
      等待直到此终端中没有卡或超时到期。如果该方法由于超时而返回,则返回 false。否则返回真。

      如果调用此方法时该终端中没有卡,则立即返回。

      参数:
      timeout - 如果为正,则最多阻塞 timeout 毫秒;如果为零,则无限期阻塞;不得为负
      返回:
      如果方法由于超时过期而返回,则为 false,否则为 true。
      抛出:
      IllegalArgumentException - 如果超时为负
      CardException - 如果操作失败