1 package fi.jyu.mit.ohj2;
2
3 import java.io.*;
4
5
16 class Readkey
17 {
18 private static native char getCharNative();
19 private static boolean islib = false;
20 private static BufferedReader linereader;
21
22 static {
23 try {
24 System.loadLibrary("readkey"); islib = true;
26 }
27 catch (UnsatisfiedLinkError e) { e.getMessage(); }
30 catch (SecurityException e) { e.getMessage(); }
31
32 init();
33
34 }
35
36
37
40 public static void init() {
41 if (!islib) linereader = new BufferedReader(new InputStreamReader(System.in));
42 }
43
44
49 public static char getChar() {
50 if (islib) return getCharNative();
51 String s = "";
53 try {
54 s = linereader.readLine();
55 } catch (IOException ex) { }
57 if ( ( s == null ) || ( s.equals("") ) ) return '\n';
58 return s.charAt(0);
59 }
60
61
66 public static boolean isLibLoaded() {
67 return islib;
68 }
69
70
74 public static void main(String[] args)
75 {
76 if (isLibLoaded())
77 System.out.print("readkey-kirjasto ladattu.\nAnna merkki:");
78 else
79 System.out.print("readkey-kirjastoa ei löytynyt.\nAnna kirjain ja paina enter:");
80 char c = Readkey.getChar();
81 if (isLibLoaded()) System.out.println(c);
82 System.out.println("Annoit merkin: " + c);
83 }
84
85 }
86