E ai galera sou novato no ramo da programação em java e estou com um problema que é o seguinte: Estou escrevendo um código que verifica se existe num diretório especifico um arquivo que comece com um certo nome por exemplo “teste” so que no diretório não existe apenas um arquivo e sim vários que começam com o mesmo nome. Então estou tentando criar uma condição que estabeleça que enquanto tiver arquivo neste diretório
que começe com o nome pré-estabelecido guarde o nome e caminho deste arquivo num Map. Alguém pode me ajudar??
Eu tirei algumas coisas que tu não estava usando agora:
importjava.io.File;importjava.util.ArrayList;publicclassteste{publicvoidtes(){Stringin="C:/";testeex=newteste();ex.existeArquivo(in);}publicvoidexisteArquivo(Stringpathin){FilediretorioInicial=newFile(pathin);ArrayList<String>lista=newArrayList<String>();if(diretorioInicial.exists()){//Pegue todos os arquivos (inclusive pastas) do diretorioInicialFile[]arquivo=diretorioInicial.listFiles();//Procura por arquivos que comecem com teste//A string teste poderia ser entregue como parametro para ficar mais legalfor(Fileaux:arquivo){if(aux.getName().startsWith("teste")){lista.add(aux.getName());}}//Pinta todos os elementos da lista//Poderia já ser pintado no for anterior sem adicionar os arquivos na listafor(Stringaux:lista){System.out.println(aux);}}elseSystem.out.println("Diretório inicial não existe");}publicstaticvoidmain(String[]args){testeini=newteste();ini.tes();}}
welingtondias
Cara, valeu pela força realmente ele guarda e identifica o arquivo no diretório, só tem um problema ele entra num loop sem fim qdo os arquivos estão sendo guardados no array. Obs: estou implementado com hasmap.
ivo_costa
Coloca ai o código pq o meu ai de cima tá funcionando bem.
ps.: usa a tag code ("[“code][/code”]") pra colocar o teu código.
Pessoal já que estamos em um forum…hehhehehehehe ai vai minha duvida…Pq não criar um construtor na classe teste??? pois assim só seria necessario instanciar 1 objeto…será que isso seria viavel???
ivo_costa
Concerteza seria melhor com um construtor, mas eu não quiz mecher muito no código do cara pra não gerar mais dúvidas. Mas mesmo sem o contrutor poderia ser intanciado apenas um objeto:
importjava.io.File;importjava.util.ArrayList;publicclassteste{publicteste(){Stringin="C:/";existeArquivo(in);}privatevoidexisteArquivo(Stringpathin){FilediretorioInicial=newFile(pathin);ArrayList<String>lista=newArrayList<String>();if(diretorioInicial.exists()){//Pegue todos os arquivos (inclusive pastas) do diretorioInicialFile[]arquivo=diretorioInicial.listFiles();//Procura por arquivos que comecem com teste//A string teste poderia ser entregue como parametro para ficar mais legalfor(Fileaux:arquivo){if(aux.getName().startsWith("teste")){lista.add(aux.getName());}}//Pinta todos os elementos da lista//Poderia já ser pintado no for anterior sem adicionar os arquivos na listafor(Stringaux:lista){System.out.println(aux);}}elseSystem.out.println("Diretório inicial não existe");}publicstaticvoidmain(String[]args){newteste();}}