Utworzyłem program wyszukujący pliki w folderze źródłowym. Jeśli znajdzie dowolny plik, przetwarza ten plik i przenosi go do folderu docelowego, a następnie szuka nowego pliku w folderze źródłowym. Musi on nadal sprawdzać folder źródłowy pliku.Jak zrestartować wątek w java?
Użyłem wątku do wyszukiwania plików w folderze źródłowym. Problem, z którym się borykam, to ilekroć wyjątek jest zgłaszany podczas przetwarzania pliku, wątek zostaje zatrzymany. Chcę, aby wątek działał, nawet jeśli zostanie zgłoszony wyjątek. Musi przenieść plik, który spowodował błąd do innego folderu i poszukać nowego pliku w folderze źródłowym. Jak mogę sprawić, aby wątek dalej działał?
Np
public void run() {
try {
searchfile();
}
catch(Exception e) {
e.printStackTrace();
}
}
public void searchfile(){
...
}
Aktualizacja:
powinienem być bardziej jasne w moim pytaniu. Właściwie istnieją 4 foldery źródłowe i 4 foldery docelowe. Muszę wykonać tę samą operację w każdej docelowej parze & źródła. Stworzyłem 4 wątki w jednej klasie i wykonałem operację w oddzielnej klasie.
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
{
public void run() {
try {
searchfile();
} catch(Exception e) {
e.printStackTrace();
}
}
public void searchfile(){ ... } }
Wszystkie wątki nie przestaną działać, mimo że przechwycono wyjątek w środku. Jak mogę to zrobić?
oops zbyt powolny, ale 11 godzin! –