Desculpe se isso parece uma pergunta rudimentar, mas não consegui encontrar respostas para ela.
Eu tenho algum código java que funciona bem no Windows. Nele, tenho uma linha que diz:
File dir = new File("F:\some\files\here");
Estou executando esse código em um servidor remoto emLinux, exceto que agora está me dando problemas. Alterei a linha para o seguinte, pois não tenho idéia de qual é o nome da unidade (acho que isso não importa no Linux?):
File dir = new File("\some\files\here");
Não há erro nesta linha, mas mais tarde chamo
File[] data = dir.listFiles();
No meu código do Windows, isso funciona bem, mas no Linux ele retorna um objeto nulo. Examinei um pouco mais e parece que meu código original não me traz um diretório de volta para o Linux.
dir.isDirectory()
Retorna false
no código do Linux.
Alguém sabe qual pode ser o problema? Eu também tentei usar / em vez de mas mesmo problema.
Algumas informações adicionais:
Eu posso acessar qualquer parte dos métodos de dir fine,exceto listFiles () ou list (). Uma coisa que eu tentei é fazer dir.getParent (). ListFiles () [0]. GetParent () deve me fornecer um diretório, não importa o quê, mas novamente a chamada listFiles () me fornece um objeto nulo e também me diz que o resultado de getParent () é um arquivo, não um diretório.
Respostas:
0 para resposta № 1Você deve usar o File.separator. Esta é uma ferramenta independente de plataforma, portanto não haverá problemas ao criar um caminho no Windows nem no Linux