class Materials implements Runnable {
String path;
public Materials(String path) {
this.path = path;
}
public int checkSize() throws FileNotFoundException {
Scanner sc = new Scanner(new File(path));
int size = 0;
while(sc.hasNextLine()) size++;
sc.close();
return size;
}
public void run() {
try {
Scanner sc = new Scanner (new File(path));
int[][] materialsTab = new int[1][checkSize()];
int x=0, count=0;
while(sc.hasNext()){
count++;
materialsTab[x][0] = sc.nextInt();
materialsTab[x][1] = sc.nextInt();
x++;
System.out.println("Im working!");
if(count%200 == 0) System.out.println("Creat " + count + " objects");
}
sc.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
私の問題は、スレッドごとに .txt ファイルを配列に書き直さなければならず、次のスレッドが来ることですが、タスクの最初の部分で行き詰まりました。
テキスト ファイルは約 10 000 行で構成されているため、public int checkSize() は配列のサイズをカウントする役割を果たします。全体は次のようになります。
【商品ID】 【重量】
そこで、行数を数えて、そのような表を作成することにしました。ID を保持する 1 つの場所と、重みの隣です。後でいくつかのことを数えなければならないからです。
さらに、200 レコードごとにメッセージに表示する必要があります。問題は、この部分を開始した後... 何も起こらないことです。