以下に示すように、そのファイルのすべての行で特定のファイルの出現回数を数えているJavaでファイルを処理しています。ここで、すべての行のスレッドを開始しています。
input = new BufferedReader(new FileReader(new File(finaName)));
String line = null;
while ((line = input.readLine()) != null) {
FileThread t = new FileThread(line);
t.start();
}
FileThread st = new FileThread();
System.out.println("Size"+st.list.size());
FileThread.java
public class FileThread extends Thread
List<String> list = new ArrayList<String>();
public FileThread(){}
public FileThread(String line){}
private String line = null;
public void run() {
String[] tokens = line.split("\\|", LIST.length);
String Symbol = null;
try {
Symbol = tokens[4];
list.add(symbol);
} catch (Throwable t1) {
t1.printStackTrace();
}
}
問題は、常に Size を 0 として取得していることです。サンプル出力を参照してください
BIM!A BIM!B BIM!C BIM!D サイズ0