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 文件重写为一个数组,然后是下一个线程,但我被困在任务的第一部分。
public int checkSize() 负责计算数组的大小,因为文本文件由大约 10 000 行组成。整体看起来就像这样:
[产品编号] [重量]
所以我决定计算行数并创建一个这样的表格,一个我保存 ID 的地方,旁边是重量,因为稍后我将不得不计算一些东西。
此外,每 200 条记录必须出现在消息中。问题是,在开始这部分之后......什么也没有发生。