[RESOLVIDO] Como separar um arquivo de um diretório? (File.isFile ou File.isDirectory)

7 respostas
G

Não intendo porquê o
File.isFile()” retorna false pra tudo.
e o “File.isDirectory()” também.

public Arquivo(String Path) { File Arquivo; Arquivo = new File(Path); if (Arquivo.isFile()) { Identificador = this.isFile; } else { Identificador = this.isDirectory; } setPath(Path); }

Isto é um construtor de uma classe minha, e é simples, mas essa joça não funciona e to pesquisando a mais de 5 horas e não faço idéia de como fazer funcionar.

Alguém me ajuda ? :S …

7 Respostas

InicianteJavaHenriqu

Você está passando o path corretamente :?:

:thumbup:

E

Teste primeiro se é um diretório (isDirectory()) , já que diretórios são arquivos especiais, então isFile() retorna true para diretórios.

A propósito, você está afirmando que “isDirectory retorna true sempre”, mas isso não é verdade, a menos que você esteja passando sempre apenas um diretório :frowning: )

G

entanglement:
Teste primeiro se é um diretório (isDirectory()) , já que diretórios são arquivos especiais, então isFile() retorna true para diretórios.

A propósito, você está afirmando que “isDirectory retorna true sempre”, mas isso não é verdade, a menos que você esteja passando sempre apenas um diretório :frowning: )

e tenho no método main a impressão do nome do diretório, ele (se for ignorada esta etapa) lista todos os arquivos da pasta, tanto diretórios, quanto arquivos.
a dificuldade está justamente aí, em separar o que é diretório de arquivo.

E

Veja a classe “ExemploDir”.

Só precisa usar isDirectory. Não se esqueça que um diretório também é um arquivo, portanto não adianta usar isFile, a menos que você queira saber se alguma coisa realmente não existe.

G

InicianteJavaHenrique:
Você está passando o path corretamente :?:

:thumbup:

Cara, pode ser! .. vou refazer uns testes aqui. .. Li na API um negócio que me deixou confuso, ai comecei a procurar outra API mais específica e nem me dei conta de que o caminho não está completo, vou verificar! ‘-’ …

G

Funcionou -.- na sequência que fiz o path mudava e não representava o arquivo mais. e não fiz o teste com a API antes de usar, ai o trem só tinha um resultado. vlw :B …

eu posso por [Resolvido] no tópico ou só o admin? ._. …

nel

gangss:
Funcionou -.- na sequência que fiz o path mudava e não representava o arquivo mais. e não fiz o teste com a API antes de usar, ai o trem só tinha um resultado. vlw :B …

eu posso por [Resolvido] no tópico ou só o admin? ._. …

É só editar o seu tópico e adicionar [Resolvido] no inicio ou fim dele, simples assim :slight_smile:

Criado 25 de junho de 2012
Ultima resposta 25 de jun. de 2012
Respostas 7
Participantes 4