在J2ME開發過程中,我們經常會把一個文字信息保存在txt格式的文本文件中做為資源。這樣便于修改和治理。那么讀取它們對于一些剛接觸j2me的朋友會有些困難。前幾天研究了下,看了一些兄弟的文章和代碼,總結出3種方法分別讀取Unicode,UTF-8,Unicode big endian格式的文件...本文沒考慮讀取的效率問題。
這三種方法都能讀取中文和英文字符.用來存放的數組長度視文本長度而定....
另外還有一些只能讀取英文字符的方法就不列舉出來了.
一、讀取Unicode格式
PRivate String read_Uni(String resource) { byte Word_uni[]=new byte[1024]; String strReturn=""; InputStream is; try { is=getClass().getResourceAsStream(resource); is.read(word_uni); is.close(); StringBuffer stringbuffer = new StringBuffer(""); for (int j = 0; j < word_uni.length; ) { int k = word_uni[j++]; //注重在這個地方進行了碼制的轉換 if (k < 0) k += 256; int l = word_uni[j++]; if (l < 0) l += 256; char c = (char) (k + (l << 8)); //把高位和低位數組裝起來 stringbuffer.append(c); } strReturn=stringbuffer.toString(); } catch(IOException e) { e.printStackTrace(); } finally { is=null; } return strReturn; }
(圖片較大,請拉動滾動條觀看) 讀取Unicode big endian格式時,采用readChar()方法讀取,所以存放時使用char數組存放。