模块  java.smartcardio
软件包  javax.smartcardio

Class CardTerminal

    • 构造方法详细信息

      • 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且调用者没有所需的permission
      • isCardPresent

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

        public abstract boolean waitForCardPresent​(long timeout)
                                            throws CardException
        等待此终端中存在卡或超时到期。 如果方法由于超时过期而返回,则返回false。 否则返回true。

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

        参数
        timeout - 如果为正,则阻止最多timeout毫秒; 如果为零,则无限期阻止; 一定不要消极
        结果
        如果方法由于过期超时而返回,则返回false,否则返回true。
        异常
        IllegalArgumentException - 如果超时为负
        CardException - 如果操作失败
      • waitForCardAbsent

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

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

        参数
        timeout - 如果为正,则阻止最多timeout毫秒; 如果为零,则无限期阻止; 一定不要消极
        结果
        如果方法由于过期超时而返回,则返回false,否则返回true。
        异常
        IllegalArgumentException - 如果超时为负
        CardException - 如果操作失败