如何使用Java在多线程中读取同一Excel文件?

时间:2019-06-11 15:56:12

标签: java excel multithreading

想知道如何使用多线程在Java中读取相同的Excel文件。我尝试使用XSSFWorkbook读取Excel文件,但是执行初始化步骤时,程序终止,甚至没有使用catch框架进入finallytestNG


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());
    }
}

0 个答案:

没有答案