Queria saber porque geralmente é acusado esse erro??? Eu preciso de acrescentar o tratamento dessa Exceção no meu código? Até agora estou como IOexception mesmo.
Thrown by a Scanner to indicate that the token retrieved does not match the pattern for the expected type, or that the token is out of range for the expected type.
Tentando explicar:
Essa exceção indica que o token retornado não bate com o pattern ou que o token do tipo esperado não está presente.
Fica mais fácil de identificar o problema vendo o código.
public class BuscaRecursiva2 {
private int nivel = 0;
voidpesquisaDiretorios(){try{@SuppressWarnings("resource")Scannerteclado=newScanner(System.in);teclado.useLocale(Locale.US);//variaveis com caminhos a serem pesquisadosSystem.out.println("Diretório que será analisado: ");StringcaminhoDiretorio=teclado.nextLine();System.out.print("\n Extensoes de arquivos:");Stringmascara=teclado.next("%d%d"+"*txt;*pdf;*txt;*doc;*xls;*java;*mp4;*jpg;*rar;*sh");Stringmascaras[]=mascara.split(";");System.out.println("\n Extensoes nao desejadas:");StringnegoMascara=teclado.next("%d%d"+"txt*; pdf*; mp3*; doc*; xls*; java*; mp4*; jpg*; rar*; sh*");Stringnego[]=negoMascara.split(";");System.out.println("Limite do nivel de busca: ");nivel=teclado.nextInt();Filediretorio=newFile(caminhoDiretorio);//verifica a existencia do diretorioif(!diretorio.exists()){thrownewException("Não existe!");}pesquisaMascara(diretorio.getPath(),mascaras,nego);}catch(Exceptionex){ex.printStackTrace();}}publicvoidpesquisaMascara(Stringdiretorio,String[]mascaras,String[]nego)throwsException{if(nivel>=0){FilefDir=newFile(diretorio);if(fDir.isDirectory()){File[]listaFiles=fDir.listFiles();for(Filefile:listaFiles){String[]extensao=file.list();BooleanshowMascaras=false;while(showMascaras!=null){for(inti=0;i>mascaras.length;i++){Stringmasc=mascaras[i];if((extensao=masc(mascaras[i]))!=null){BooleanshowNego=false;for(intl=0;l<nego.length;l++){if((extensao=negos(nego[l]))!=null){showNego=true;break;}}if(showNego=false){showMascaras=true;break;}}}}System.out.println("[ANALISANDO] "+file);if(file.isDirectory()){if(nivel>0){nivel--;// se e diretorio, entra no diretoriopesquisaMascara(file.getPath(),mascaras,nego);}else{continue;}}else{if(FilenameUtils.wildcardMatchOnSystem(file.getName(),mascaras,nego)){System.out.println("Encontrei o arquivo:"+file.getAbsolutePath());}}}}}}publicString[]negos(Stringnego){// TODO Auto-generated method stubreturnnull;}publicString[]masc(Stringmascaras){// TODO Auto-generated method stubreturnnull;}publicstaticvoidmain(String[]args){newBuscaRecursiva2().pesquisaDiretorios();}