Pergunta

Como você digitalizar um arquivo com java que não está no diretório do arquivo java está em?

Por exemplo: O arquivo java está localizado em "C: \ Files \ JavaFiles \ test.java" No entanto, o arquivo que deseja digitalizar está localizado em "C: \ Data \ DataPacket99 \ data.txt"

Nota: Eu já tentei colocar outro arquivo java no "C: \ Data" diretório e usando o arquivo test.java como uma classe, mas ele não funciona. Ele ainda tenta digitalizar a partir do "C: \ Files \ JavaFiles". Diretório

Foi útil?

Solução

Ao usar um caminho absoluto, em vez de um parente.

File file = new File("C:\\Data\\DataPacket99\\data.txt");

Em seguida, você pode escrever código que acessa o objeto de arquivo, usando um InputStream ou similar.

Outras dicas

Você precisa usar caminhos absolutos em coisas java.io. Assim não new File("data.txt"), mas new File("C:/Data/DataPacket99/data.txt"). Caso contrário, será relativo ao diretório de trabalho atual que não pode por si só ser o mesmo em todos os ambientes ou o que você esperaria.

Você deve estar usando um caminho absoluto, em vez de um caminho relativo.

Você pode usar File file = new File("C:/Data/DataPacket99/data.txt"); mas pode tornar sua vida mais fácil no futuro para usar um arquivo seletor de diálogo se em algum momento o usuário terá que inserir um caminho de arquivo.

eu tente o seguinte:

File file = new File("../../Data/DataPacket99/data.txt");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top