Programa não está reconhecendo um diretório

4 respostas
E

Olá pessoal…Estou implementando um software cliente-servidor. Quando instancio o servidor, leio um arquivo de configurações e desta leitura retorno um HashMap com as tais configurações em formato chave-valor.
As duas configurações que tenho até agora são:

[i]localizacao_repositorio_de_videos = C:\servidor\videos
localizacao_repositorio_de_anotacoes = C:\servidor\anotacoes[/i]

São dois diretórios…

Fazendo
File diretorio = new File(“C:\servidor\videos”);
o método diretorio.isDirectory() retorna false. Detalhe, eu já tenho um arquivo de vídeo dentro deste diretório.

Fazendo
File[] arquivos = diretorio.listFiles();
arquivos é null

Alguém saberia me dizer como posso contornar esta situação inusitada?

Obrigado.

4 Respostas

java.rco

vc mencionou que se trata de um client servidor sua aplicação, acredito que você deve estar verificando o diretório ou no cliente ou no servidor.

pq se o diretório existe ele vai ter retornar true com certeza, isso é certo.

vc deve estar olhando no cliente e pensando que está no servidor.

gabrielmassote

Tudo bem?

tenta File diretorio = new File(“C:\servidor\videos\”);

abracos

E

Tenho certeza de que estou fazendo no servidor. Meu cliente e meu servidor são bastante dissociados no meu projeto.

Até já tentei, mas não rola também…
Na verdade, como eu disse antes, meu servidor lê um arquivo de configurações ao ser instanciado…Quando um arquivo texto é lido e o java encontra uma “” ele automaticamente adiciona outra “” para persistir esse símbolo em seu sistema de representação. A solução não seria colocar as duas barras no meu arquivo de configuração. Todavia, testei e não funcionou…

Fiz um teste básico em uma classe de teste, assim:

File arquivo = new File("C:\\servidor\\videos"); if(arquivo.isDirectory()) { System.out.println("É diretório"); File[] filhos = arquivo.listFiles(); } else { System.out.println("Não é diretório"); }

E neste caso o diretório é reconhecido…
Não estou conseguindo ver onde está o problema…

E

Resolvi!
Bah…Que vergonha! Desculpa usar o tempo de vocês por uma coisa tão ridícula…

meu problema era o seguinte. Eu lia as configurações:

localizacao_repositorio_de_videos = C:\servidor\videos
localizacao_repositorio_de_anotacoes = C:\servidor\anotacoes\

Em cada linha dava um split a partir do “=”. o que vinha antes de"=" era a chave, o que vinha depois era o valor. Eu estava armazenando os valores com um espaço (que vem logo depois do “=”). Este espaço atravancava todo o sistema de caminhos do Java, hehehe…

Valeu pela atenção…

Criado 26 de junho de 2008
Ultima resposta 26 de jun. de 2008
Respostas 4
Participantes 3