KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > version


1 import java.io.BufferedReader JavaDoc;
2 import java.io.IOException JavaDoc;
3 import java.io.InputStream JavaDoc;
4 import java.io.InputStreamReader JavaDoc;
5
6
7 /**
8  * This class looks for a text resource named sapia.version - that
9  * holds version information (version number, remarks, etc.) and
10  * outputs the file's content to System.out.
11  *
12  * @author Yanick Duchesne
13  * 2003-05-03
14  */

15 public class version {
16   public static final String JavaDoc SAPIA_VERSION = "sapia.version";
17
18   public static void main(String JavaDoc[] args) {
19     InputStream JavaDoc is = findVersionStream("/META-INF/" + SAPIA_VERSION);
20
21     if (is == null) {
22       is = findVersionStream(SAPIA_VERSION);
23     }
24
25     if (is == null) {
26       System.out.println("Could not find " + SAPIA_VERSION +
27                          " resource; version information could not be provided.");
28     } else {
29       processVersionStream(is);
30     }
31   }
32
33   private static void processVersionStream(InputStream JavaDoc is) {
34     BufferedReader JavaDoc reader = null;
35
36     try {
37       reader = new BufferedReader JavaDoc(new InputStreamReader JavaDoc(is));
38
39       String JavaDoc line;
40       System.out.println();
41
42       while ((line = reader.readLine()) != null) {
43         System.out.println(line);
44       }
45
46       System.out.println();
47     } catch (IOException JavaDoc e) {
48       e.printStackTrace();
49     } finally {
50       if (reader != null) {
51         try {
52           reader.close();
53         } catch (Throwable JavaDoc t) {
54           // noop;
55
}
56       }
57     }
58   }
59
60   private static InputStream JavaDoc findVersionStream(String JavaDoc resource) {
61     InputStream JavaDoc is = Thread.currentThread().getContextClassLoader()
62                            .getResourceAsStream(resource);
63
64     if (is == null) {
65       is = ClassLoader.getSystemResourceAsStream(resource);
66     }
67
68     if (is == null) {
69       is = version.class.getResourceAsStream(resource);
70     }
71
72     return is;
73   }
74 }
75
Popular Tags