【发布时间】:2009-01-22 08:00:42
【问题描述】:
我创建了一个在源文件夹中搜索文件的程序。如果找到任何文件,它会处理该文件并将文件移动到目标文件夹并在源文件夹中查找新文件。就像它必须继续检查文件的源文件夹一样。我使用线程在源文件夹中查找文件。我面临的问题是在文件进程线程停止期间抛出任何异常。即使在文件处理期间抛出异常,我也希望线程能够运行。它必须将该错误移到其他文件夹中并在源文件夹中查找新文件。如何让线程继续运行?
实际上有 4 个源文件夹和 4 个目标文件夹。我必须在每个源和目标对中执行相同的操作。所以我在一个类中创建了 4 个线程,在第二类中创建了搜索操作,在第三类中创建了文件处理。
class MainClass
{
public static void main(String[] args){
for(int i=0;i<4;i++){
SearchClass search = new SearchClass();
Thread thread = new Thread(search);
thread.start();
}
}
}
class SearchClass implements Runnable
{
public void run() {
try {
searchfile();
} catch(Exception e) {
e.printStackTrace();
}
}
public void searchfile(){
try{
ProcessClass p = new ProcessClass();
p.fileProcess();
}catch(Exception){
e.printStackTrace();
}
}
}
class ProcessClass
{
public void fileProcess(){
try{
.........................
........... ----->
// Thread1 throws exception here and get stopped.
// Its searching file in source folder again.
}catch(Exception){
e.printStackTrace();
}
}
}
【问题讨论】:
-
这不是复制品吗? stackoverflow.com/questions/468266/… Jon Skeet 在那里回答你,Raja,你必须 learn exception handling。
-
请在发帖时使用代码格式。选择问题中的代码段,然后按 Ctrl+K。
-
...或单击带有 1 和 0 的按钮 (01101..)
标签: java