Re: [問題] 有關檔案讀取

看板java作者 (愚人)時間17年前 (2007/06/23 21:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《H45 (!H45)》之銘言: : ※ 引述《NightPrince (shooting star)》之銘言: : : 如果是英文文章的話,可以試試看StringTokenizer : : 是 java.util package底下的一個class : : 而你所說的是從檔案讀進輸入,那就必須先讀取一個檔案的內容再使用 : : StringTokenizer : : 檔案的輸出輸入串流相關class,請參閱 java.io package : : hint: File、FileReader、BufferedReader and so on. : : example: : : try : : { : : File file = new File("D:/abc.txt"); : : BufferedReader br = new BufferedReader(new FileReader(file)); : : String s; : : StringTokenizer token; : : ArrayList<String> strList = new ArrayList(); : : while( ( s = br.readLine()) != null ) : : { : : token = new StringTokenizer(s); : : while( token.hasNextToken() ) : : { : : strList.add(token.nextToken()); : : } : : } : : } : : catch(Exception ex) : : { : : ex.printStackTrace(); : : } : 可否請教中文的文章該怎麼統計各個文字出現的字數? : Ex: : 輸入: : "背書包,上學去,我的書包裡,有書也有筆,我有四本書,還有三枝筆,還有一個 : 小皮球,也在我的書包裡" : 輸出: : 背:1 : 書:5 : 包:3 : 上:1 : 學:1 : 去:1 : 我:3 : 的:2 : 裡:2 : 有:5 : 也:2 : 筆:2 : 四:1 : 本:1 : 還:2 : 三:1 : 枝:1 : 一:1 : 個:1 : 小:1 : 皮:1 : 球:1 : 在:1 呵 java 是用 unicode 所以字串轉成了 char array 還是會原來的編碼 除非你有改掉他 class TestChinese { static void main(args) { def String input = "背書包,上學去,我的書包裡,有書也有筆," + "我有四本書,還有三枝筆,還有一個小皮球,也在我的書包裡" // 轉成 char array char[] ca = input.toCharArray() // 統計用的 HashMap def stat = [:] // 計算次數 ca.each{ if (it in stat.keySet()) stat[it] += 1 else stat[it] = 1 } // 印出結果 print stat } } ===================================================== 結果 [去:1, 也:2, 筆:2, 還:2, 的:2, 背:1, 球:1, 枝:1, ,:7, 皮:1, 個:1, 在:1, 三 :1, 有:5, 小:1, 上:1, 我:3, 本:1, 包:3, 裡:2, 一:1, 學:1, 書:5, 四:1] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.232.232.203
文章代碼(AID): #16VHsxD3 (java)
文章代碼(AID): #16VHsxD3 (java)