java ファイル入力 単語回数

実現したいこと

ここに実現したいことを箇条書きで書いてください。

テキストファイルを読み込み、そこに書いてある単語(1レコード=1単語)を読み込み、どの単語が何回出てきたか表示する。

前提

ここに質問の内容を詳しく書いてください。
文字数と回数のカウントを別のクラスファイルで行い、mainクラスではそのクラスファイルを利用して、配列[6]を使って表示したいです

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class TextWordCounter {
public static void main(String[] args) {
mypackage.TextWord[] tw = new mypackage.TextWord[6];
BufferedReader br = null;
String word = null;
int cnt = 0;
String[] words;
String line;

Map<String,Integer> map = new HashMap<>(); try { File file = new File("word.txt"); br = new BufferedReader(new FileReader(file)); while ((line = br.readLine()) != null) { words = line.split("\\r\\n"); for (String s : words) { if (!s.isEmpty()) { if (map.containsKey(s)) { cnt = map.get(s) + 1; map.put(s, cnt); } else { map.put(s, 1); } } } } } catch (FileNotFoundException fnfe) { System.out.println("ファイルが存在しません"); } catch (IOException e) { System.out.println("ファイルが破損しています。"); } finally { try { br.close(); } // ファイルがない状態で閉じる catch (NullPointerException npe) { System.out.println("ファイルがない状態で閉じようとしています"); } // その他 catch (IOException e){ System.out.println("閉じる作業に何らかの問題があります。"); } for (String s: map.keySet()) { cnt = map.get(s); word = s; System.out.println(word + "(単語):" + cnt + "(出現回数)回です。"); } } }

}

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

コメントを投稿

0 コメント