想知道如何使用多线程在Java中读取相同的Excel
文件。我尝试使用XSSFWorkbook
读取Excel文件,但是执行初始化步骤时,程序终止,甚至没有使用catch
框架进入finally
或testNG
块
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Parameters;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class MultiThread implements Runnable {
@BeforeSuite
@Parameters({"masterFileName"})
public void threadExm (String masterFileName) {
Thread guruThread1 = new Thread("Test1");
Thread guruThread2 = new Thread("Test2");
guruThread1.start();
guruThread2.start();
System.out.println("Thread names are following:");
System.out.println(guruThread1.getName());
System.out.println(guruThread2.getName());
}
@Override
public void run() {
try {
String excelFilePath = System.getProperty("user.dir") + "/inputfiles/Master.xlsx";
FileInputStream inputStream;
inputStream = new FileInputStream(new File(excelFilePath));
XSSFWorkbook wb = new XSSFWorkbook(inputStream);
test(wb);
} catch (Exception e) {
e.printStackTrace();
}
}
public void test(XSSFWorkbook wb){
System.out.println(wb.getSheet("Sheet1").getLastRowNum());
}
}