【发布时间】:2018-12-07 12:22:36
【问题描述】:
下面我写了一个 runnable 来运行一个目录并解析其中的 csv 文件。当前代码运行,以便 T1 和 T2 读取目录中的所有文件。如何使 T1 和 T2 同时运行,但不能访问相同的文件进行解析..
public class ThreadDemo{
public static void main(String[] args){
ExecutorService executorService = Executors.newFixedThreadPool(10);
executorService.execute(new Task());//T1
executorService.execute(new Task());//T2
executorService.shutdown();
}
}
class Task implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
try {
String line = "";
String dirName = "/dir/location";
File[] fileList = new File(dirName).listFiles();
BufferedReader br = null;
for (File file : fileList){
br = new BufferedReader(new FileReader(file.getName()));
while ((line = br.readLine()) != null){
//parse few vaule
}
System.out.println("The file name is this :::: "+file.getName());
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
【问题讨论】:
标签: java multithreading file filereader