タイトルには、単純なテキストファイルを読み込み、個々の単語をハッシュマップに送信しようとしています。私は、しかし、次のCJava - .txtファイルからの単語をHashMapに入れますか?
import java.util.*;
import java.io.*;
public class Profile{
public static String file;
public static int len;
public static int count = 0;
public static String[] words;
public static String[] unrepeatedWords;
public static Map<String, Integer> record = new HashMap<String, Integer>();
//Integer count = record.get(word);
//Integer count = record.get(word);
Set<String> keySet = record.keySet();
//Method to read whole file
static void wholeFile(File file){
try {
Scanner in = new Scanner(file);
int lineNumber = 1;
while(in.hasNextLine()){
String line = in.nextLine();
//count += new StringTokenizer(line, " ,").countTokens();
//System.out.println(line);
words = line.split("/t");
words = line.split(" ");
//System.out.println(words + "");
lineNumber++;
}
for(String word : words){
//System.out.println(word);
if(!record.containsKey(word)){ record.put(word, 1); }
if(record.containsKey(word)){ record.put(word, record.get(word) + 1); }
}
System.out.println(record);
in.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
Profile(String file){
this.file = file;
}
Profile(String file, int len){
this.file = file;
this.len = len;
}
public static void main(String[] args){
file = args[0] + "";
File a = new File(file);
//Scanner in = new Scanner(a);
wholeFile(a);
}
}
を書かれている
it was the best of times
it was the worst of times
it was the age of wisdom
it was the age of foolishness
it was the epoch of belief
it was the epoch of incredulity
it was the season of light
it was the season of darkness
it was the spring of hope
it was the winter of despair
see the test
try this one
:私は最終的に私は、次のテキストファイル(TEXT.TXT)を持っているハッシュマップ、周波数に各単語をカウントするように私のプログラムを構築します私は、コマンドの実行プロファイルTEXT.TXTを実行したとき、私は唯一のHashMapに最後の行を格納しています:
> run Profile text.txt
{one=2, this=2, try=2}
>
私が間違って何をしているのですか? HashMapの内部にある.txtファイル内のすべての単語を効率的に保存するにはどうすればよいですか?アドバイスが参考になります。
デバッガを使用するか、いくつかの 'System.out.println'行を追加して、何が起きているかを確認することをお勧めします。小さなバグは2つしかありません。 –