我有一個小型項目來編寫twitter爬行程序,並且在分析收集到的tweets時遇到一些問題。無法讀取txt文件中的單詞並計算單詞數
收集到的推文放置在一個txt文件中。我想要實現的是統計txt文件中有多少單詞,包含單詞'engineering'的單詞數量以及hashtags的數量。下面是我到目前爲止已經試過,
import java.io.*;
import java.util.StringTokenizer;
public class TwitterAnalyzer {
public static void main(String args[]){
try{
String keyword = "Engineering";
FileInputStream fInstream = new FileInputStream("C:\\Users\\Alan\\Documents\\NetBeansProjects\\TwitterCrawler\\"+keyword+"-data.txt");
DataInputStream in = new DataInputStream(fInstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
int numberOfKeywords = 0;
int numberOfWords = 0;
int numberOfHashtags = 0;
while((strLine = br.readLine()) != null){
strLine = br.readLine();
System.out.println(strLine);
StringTokenizer st = new StringTokenizer(strLine, " \t\n\r\f.,;:!?\"");
while(st.hasMoreTokens()){
String word = st.nextToken();
numberOfWords++;
if(word.contains(keyword)){
numberOfKeywords++;
}
if(word.contains("#")){
numberOfHashtags++;
}
}
}
System.out.println(numberOfWords);
System.out.println(numberOfKeywords);
System.out.println(numberOfHashtags);
br.close();
}catch (FileNotFoundException fe){
fe.printStackTrace();
System.out.println("Unable to locate file");
System.exit(-1);
}catch (IOException ie){
ie.printStackTrace();
System.out.println("Unable to read file");
System.exit(-1);
}
}
}
這裏是link到txt文件。
這裏的任何非常感謝!
',而((strLine中= br.readLine())!= NULL){ strLine = br.readLine();'你爲每次迭代調用readLine()兩次。 – Natalia
什麼'無法讀字'?任何特定的錯誤消息或意外結果?另外,如果你正在尋找單個詞的出現,「地圖」將是更好的選擇。 – sam