本文整理汇总了Java中javax.smartcardio.TerminalFactory.getInstance方法的典型用法代码示例。如果您正苦于以下问题:Java TerminalFactory.getInstance方法的具体用法?Java TerminalFactory.getInstance怎么用?Java TerminalFactory.getInstance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.smartcardio.TerminalFactory
的用法示例。
在下文中一共展示了TerminalFactory.getInstance方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getTerminal
import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
static CardTerminal getTerminal(String[] args) throws Exception {
setLibrary(args);
TerminalFactory factory = TerminalFactory.getInstance("PC/SC", null);
System.out.println(factory);
List<CardTerminal> terminals = factory.terminals().list();
System.out.println("Terminals: " + terminals);
if (terminals.isEmpty()) {
throw new Exception("No card terminals available");
}
CardTerminal terminal = terminals.get(0);
if (terminal.isCardPresent() == false) {
System.out.println("*** Insert card");
if (terminal.waitForCardPresent(20 * 1000) == false) {
throw new Exception("no card available");
}
}
return terminal;
}
示例2: main
import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
TerminalFactory context;
CardTerminals terminals;
if (true) {
Security.addProvider(new Smartcardio());
context = TerminalFactory.getInstance("PC/SC", null, Smartcardio.PROVIDER_NAME);
terminals = context.terminals();
} else {
TerminalFactory terminalFactory = TerminalFactory.getDefault();
terminals = terminalFactory.terminals();
}
List<CardTerminal> present = terminals.list(State.CARD_PRESENT);
List<CardTerminal> absent = terminals.list(State.CARD_ABSENT);
System.out.format("Initial: cards are present in %s; cards are absent from %s%n", terminalNames(present), terminalNames(absent));
while (true) {
terminals.waitForChange();
List<CardTerminal> inserted = terminals.list(State.CARD_INSERTION);
List<CardTerminal> removed = terminals.list(State.CARD_REMOVAL);
System.out.format("Card inserted in %s; cards removed from %s%n", terminalNames(inserted), terminalNames(removed));
}
}
示例3: getTerminalFactory
import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
static TerminalFactory getTerminalFactory(String provName) throws Exception {
try {
TerminalFactory factory = (provName == null)
? TerminalFactory.getInstance("PC/SC", null)
: TerminalFactory.getInstance("PC/SC", null, provName);
System.out.println(factory);
return factory;
} catch (NoSuchAlgorithmException e) {
Throwable cause = e.getCause();
if (cause != null && cause.getMessage().startsWith("PC/SC not available")) {
return null;
}
throw e;
}
}
示例4: getTerminal
import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
static CardTerminal getTerminal(String[] args, String provider) throws Exception {
setLibrary(args);
try {
TerminalFactory factory = (provider == null)
? TerminalFactory.getInstance("PC/SC", null)
: TerminalFactory.getInstance("PC/SC", null, provider);
System.out.println(factory);
List<CardTerminal> terminals = factory.terminals().list();
System.out.println("Terminals: " + terminals);
if (terminals.isEmpty()) {
return null;
}
CardTerminal terminal = terminals.get(0);
if (terminal.isCardPresent() == false) {
System.out.println("*** Insert card");
if (terminal.waitForCardPresent(20 * 1000) == false) {
throw new Exception("no card available");
}
}
System.out.println("card present: " + terminal.isCardPresent());
return terminal;
} catch (NoSuchAlgorithmException e) {
Throwable cause = e.getCause();
if (cause != null && cause.getMessage().startsWith("PC/SC not available")) {
return null;
}
throw e;
}
}
示例5: PCSCFactory
import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
/**
* Default constructor with fixes for the faulty SmartcardIO library.
*
* @throws FileNotFoundException if pcsclite for Linux can't be found.
* @throws NoSuchAlgorithmException if no PC/SC provider can be found.
*/
public PCSCFactory() throws FileNotFoundException, NoSuchAlgorithmException {
String osName = System.getProperty("os.name");
if (osName.startsWith("Linux")) {
File libFile = LinuxLibraryFinder.getLibraryPath("pcsclite", "1");
System.setProperty("sun.security.smartcardio.library", libFile.getAbsolutePath());
// see https://developer.apple.com/library/mac/technotes/tn2002/tn2110.html#FINDINGMAC
} else if (osName.contains("OS X")) {
terminalFactory = TerminalFactory.getInstance(ALGORITHM, null, new SunOSXPCSC());
return;
}
terminalFactory = TerminalFactory.getInstance(ALGORITHM, null);
}
示例6: setUp
import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
@Before public void setUp() throws Exception {
if (true) {
Security.addProvider(new Smartcardio());
context = TerminalFactory.getInstance("PC/SC", null, Smartcardio.PROVIDER_NAME);
terminals = context.terminals();
} else {
TerminalFactory terminalFactory = TerminalFactory.getDefault();
terminals = terminalFactory.terminals();
}
}
示例7: main
import javax.smartcardio.TerminalFactory; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
TerminalFactory factory = TerminalFactory.getInstance("PC/SC", null);
System.out.println(factory);
List<CardTerminal> terminals = factory.terminals().list();
System.out.println("Terminals: " + terminals);
if (terminals.isEmpty()) {
throw new Exception("No card terminals available");
}
CardTerminal terminal = terminals.get(0);
while (terminal.isCardPresent()) {
System.out.println("*** Remove card!");
Thread.sleep(1000);
}
Timer timer = new Timer();
System.out.println("Testing waitForCardAbsent() with card already absent...");
isTrue(terminal.waitForCardAbsent(10));
timer.print();
isTrue(terminal.waitForCardAbsent(100));
timer.print();
isTrue(terminal.waitForCardAbsent(10000));
timer.print();
isTrue(terminal.waitForCardAbsent(0));
timer.print();
System.out.println("Testing waitForCardPresent() timeout...");
isFalse(terminal.waitForCardPresent(10));
timer.print();
isFalse(terminal.waitForCardPresent(100));
timer.print();
isFalse(terminal.waitForCardPresent(1000));
timer.print();
isFalse(terminal.isCardPresent());
isFalse(terminal.isCardPresent());
System.out.println("*** Insert card!");
isTrue(terminal.waitForCardPresent(0));
timer.print();
isTrue(terminal.isCardPresent());
isTrue(terminal.isCardPresent());
System.out.println("Testing waitForCardPresent() with card already present...");
isTrue(terminal.waitForCardPresent(0));
timer.print();
isTrue(terminal.waitForCardPresent(10000));
timer.print();
isTrue(terminal.waitForCardPresent(100));
timer.print();
isTrue(terminal.waitForCardPresent(10));
timer.print();
System.out.println("Testing waitForCardAbsent() timeout...");
isFalse(terminal.waitForCardAbsent(1000));
timer.print();
isFalse(terminal.waitForCardAbsent(100));
timer.print();
isFalse(terminal.waitForCardAbsent(10));
timer.print();
System.out.println("*** Remove card!");
isTrue(terminal.waitForCardAbsent(0));
timer.print();
isFalse(terminal.isCardPresent());
isFalse(terminal.isCardPresent());
System.out.println("OK.");
}