?? locale.java
字號:
package org.gamecollege.j2me.rpg;
import java.io.InputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Hashtable;
/**
* 文本資源讀取類
*
*/
public class Locale {
//單例
private final static Locale instance = new Locale();
//映射
private static Hashtable map;
//私有構造函數
private Locale() {
map = new Hashtable();
InputStream is = null;
try {
is = this.getClass().getResourceAsStream("/locale.txt");
boolean done = false;
char buffer[] = new char[1];
StringBuffer line = new StringBuffer();
InputStreamReader isr = new InputStreamReader(is);
// read a line and add the entries
while (!done) {
int bytesRead = isr.read(buffer);
if (bytesRead != -1) {
//讀取一行
if (buffer[0] == '\n') {
String s = line.toString().trim();
//跳過用'#'開頭的行,跳過不帶'='的行
if (!s.startsWith("#") && s.length() > 2
&& s.indexOf('=') != -1) {
String key = s.substring(0, s.indexOf('=')).trim()
.toLowerCase();
String value = s.substring(s.indexOf('=') + 1)
.trim();
map.put(key, value);
}
line.setLength(0);
} else
line.append((char) buffer[0]);
} else
done = true;
}
} catch (IOException io) {
}
finally {
try {
is.close();
}
catch (IOException io) {
}
}
}
/**
* 獲取某個key對應的字串
* @param key
* @return
*/
public static String getString(String key) {
String s = (String) map.get(key.toLowerCase());
if (s != null)
return s;
return key;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -