[RESOLVIDO]Verifica se o arquivo existe na pasta!

Pessoal pesquisei no forum e nenhum resolveu o meu problema
Seguinte tenho uma aplicação que roda algumas coisas em .bat, mas só posso dar continuidade nas outras coisas abaixo quando exister o arquivo de log numa determinada pasta
enqunto nao existir não desce a linha.

sei que posso usar isso para verificar

String diretorio = "C:\\diretorio\\pasta\\pasta\\arquivo.extençao";  
java.io.File file = new File(diretorio);  

mas nao teria que dar um loop até ter esse aquivo e depois contuinuar?! como fazer isso!?

Gente só quero saber se o arquivo xpto se encontra na pasta, só vai sair do loop quando achar o arquivo, como faço isso!!!?
alguem pode ajudar!?

[quote=snowblacksoul]Gente só quero saber se o arquivo xpto se encontra na pasta, só vai sair do loop quando achar o arquivo, como faço isso!!!?
alguem pode ajudar!?[/quote]

Oi!

Ler a documentação é importante, o File dispõe do método exists.
A única coisa é que eu aconselho a usar um Timer, tendo em vista que se ler a todo milésimo de segundo, fica complicado.

O seu código tu podes usar com a seguinte idéia:

File file = new File("xpto"); while(!file.exists()) { // Aguarde 5 segundos Thread.sleep(5000); file = new File("xpto"); }

Fica a sugestão.
Abraços.

Cara testei e não deu certo pois ele nao sae da
"Thread.sleep(5000); "
pois o arquivo ja esta na pasta e ele fica repetindo sem sair!!
Eu gostaria que guando o arquivo estivesse na pasta ele já ia pro proximo codigo

[quote=snowblacksoul]Cara testei e não deu certo pois ele nao sae da
"Thread.sleep(5000); "
pois o arquivo ja esta na pasta e ele fica repetindo sem sair!!
Eu gostaria que guando o arquivo estivesse na pasta ele já ia pro proximo codigo[/quote]

Não sei porque não funcionou ai, pois:

File file = new File("result.xml"); while(!file.exists()) { System.out.println("Aguardando 5 segundos..."); // Aguarde 5 segundos Thread.sleep(5000); file = new File("result.xml"); } System.out.println("ok");

Repetiu o “Aguardando 5 segundos” até eu lançar o arquivo no respectivo diretório.

Pô grande deu certinho agora, é exatamente o que eu queria valeu mesmo abraços!!
muito obrigado ajudou e muito e aprendi mais uma
valeu!!!

Daria para fazer um do while…
ficaria mais facil, eu acho

String arq= "c:\\teste.pdf";
if(!new File(arq).exists()) {
   // Crio arquivo
}

[quote=lucasportela] String arq= "c:\\teste.pdf"; if(!new File(arq).exists()) { // Crio arquivo } [/quote]

Não entendo porque reviver um tópico resolvido dando uma dica que não se encaixa na necessidade citada por ele.
Dessa forma, qual o intuito de esperar um determinado tempo para a leitura do diretório?

O objetivo dele é uma espécie de Timer que fique efetuando a leitura de um determinado diretório até que o arquivo seja adicionado ao mesmo.

Desculpe-me, entendi errado a necessidade.

Coloque seu código entre as tags CODE!

assim fica mais facil de entender seu código:

[code]
public class PdfParser {

public static void main(String[] args) { 

	PdfParser pdf = new PdfParser(); 
	pdf.setEnderecoRecurso("C:\\NNpdf\\luuuuu0001(1).pdf"); 

	String retorno = pdf.getConteudo(); 
	/* 

	 * 
	 */ 
	FileWriter x; 
	try { 
		x = new FileWriter("C:\\NNpdf\\teste.txt", false); 

		x.write(retorno); 
		x.close(); 


		FileInputStream stream = new FileInputStream("C:\\NNpdf\\teste.txt"); 

		StringBuilder txt = new StringBuilder(); 
		InputStreamReader streamReader = new InputStreamReader(stream); 
		BufferedReader reader = new BufferedReader(streamReader); 
		String line = null; 

		while ((line = reader.readLine()) != null) { 

			txt.append(line); 
			txt.append("\n"); 
			if (line.contains(" ")) { 
				txt.append(line.replaceAll(" ", ";")); 
				txt.append("\n"); 
			} 
		} 

		System.out.println(txt); 


	} catch (IOException e) { 
		// TODO Auto-generated catch block 
		e.printStackTrace(); 
	} 

} 

private String enderecoRecurso; 

public void setEnderecoRecurso(String enderecoRecurso) { 
	this.enderecoRecurso = enderecoRecurso; // endereço dos arquivos 
} 

public String getConteudo() { 

	File f = new File(this.enderecoRecurso); 
	FileInputStream is = null; 
	try { 
		is = new FileInputStream(f); 
	} catch (IOException e) { 
		System.out.println("ERRO: " + e.getMessage()); 
		return null; 
	} 

	PDDocument pdfDocument = null; 
	try { 
		PDFParser parser = new PDFParser(is); 
		parser.parse(); 
		pdfDocument = parser.getPDDocument(); 
		PDFTextStripper stripper = new PDFTextStripper(); 
		return stripper.getText(pdfDocument); 
	} catch (IOException e) { 
		return "ERRO: Não é possível abrir a stream" + e.getLocalizedMessage(); 
	} catch (Throwable e) { 
		// Fazemos um catch, uma vez que precisamos de fechar o recurso 
		return "ERRO: Um erro ocorreu enquanto tentava obter o conteúdo do PDF " 
		+ e.getLocalizedMessage()+" Causa "+e.getCause(); 
	} finally { 
		if (pdfDocument != null) { 
			try { 
				pdfDocument.close(); 
			} catch (IOException e) { 
				return "ERRO: Não foi possível fechar o PDF. " + e.getLocalizedMessage()+" Causa "+e.getCause(); 
			} 
		} 
	} 
} 

}[/code]

Pelo o que entendi você só precisa saber como listar os arquivos de uma pasta.

File dir = new File("C:\\"); for(File arq : dir.listFiles()) { // Faz alguma coisa com o arquivo }

Relatei meu problema nesse topico:

da uma olhada acredito que consiga me ajudar, não tou sabendo em que parte do codigo usar essa função file, e nem como fazer rodar o procedimento junto com esta função!