Ajuda com impressão de Path de arquivos

2 respostas
akumaldo

Olá pessoal do fórum!:D
eu como bom aprendiz de feiticeiro(ahahaha) estou aqui pedindo ajuda dos mestres... :oops:
Bom brincadeiras a parte..hehe
Eu estava criando um programinha que le diretorios e seus arquivos internos e mostra pro user, porém me deparei com um problema!
NÃO SEI LISTAR AS PASTAS INTERNAS DO DIRETÓRIO DADO COM SEUS ARQUIVOS! :shock:
por que eu imagino, tem várias pastas, ou pode ter 1, ou nenhuma...e me perdi! não sei como listar as pastas com seus arquivos, vou dar um exemplo:
c:\windows (dou essa pasta de entrada)
vai aparecer assim pro user:
c:\windows
--> java(dir)
lista dos files de dir aqui
-->bin(dir)
lista dos files de dir aqui
-->corefiles(dir)
--> lista dos files de core aqui

entendem ??eu gostaria de criar essa classezinha..alguém me ajuda?
:D

criei essa classe aqui embaixo mas ela só le os diretorios e os arquivos, e outra...em string ainda...não dá muito certo! :(

public static void leitorDir(String path)
	{
		
		File dir = new File(path);
		String[] arq = dir.list();
 		if(dir.exists()) System.out.println("Existe o arquivo: " + dir.getPath() );
		for(int x = 0; x<arq.length;x++) 
		{	
			File[] convert = new File[arq.length];
			convert[x] = new File(arq[x]);
			if (convert[x].isDirectory()) System.out.println("Diretorio: " +convert[x]);
			
			System.out.println("Arquivo: " +convert[x]);
		}
		
	}
>

2 Respostas

_fs

http://javaalmanac.com/egs/java.io/TraverseTree.html

O método process( File file ) que ele chama é você quem vai implementar. Em seu caso irá apenas imprimir o nome do arquivo e se é um diretório ou não.

Uma outra forma de implementar o método seria assim:

public static void visitAllDirsAndFiles(File dir) {
    process(dir);
    
    if (dir.isDirectory()) {
        File[] children = dir.listFiles(); //
        for (int i=0; i<children.length; i++) {
            visitAllDirsAndFiles( children[i] );
        }
    }
}
akumaldo

:smiley: gostei…obrigado pela ajuda!

Criado 27 de junho de 2006
Ultima resposta 27 de jun. de 2006
Respostas 2
Participantes 2