Criar um arquivo em um diretório específico em Java

Criar um arquivo em um diretório específico em Java

1. Visão geral

Neste tutorial rápido, veremos comocreate a file em aspecific directory.

Veremos a diferença entre os caminhos de arquivo absolutos e relativos e usaremos caminhos que funcionam em vários sistemas operacionais importantes.

2. Caminhos de arquivo absolutos e relativos

2.1. Caminhos Absolutos

Vamos começar criando um arquivo em um diretório porreferring to the entire path, também conhecido como caminho absoluto. Para demonstrar, vamos usar o caminho absoluto para o diretóriotemp do usuário e adicionar nosso arquivo nele.

Estamos usandoFiles.touch(), que faz parte do Google Guava, como uma maneira fácil de criar um arquivo vazio:

File tempDirectory = new File(System.getProperty("java.io.tmpdir"));
File fileWithAbsolutePath = new File(tempDirectory.getAbsolutePath() + "/testFile.txt");

assertFalse(fileWithAbsolutePath.exists());

Files.touch(fileWithAbsolutePath);

assertTrue(fileWithAbsolutePath.exists());

2.2. Caminhos relativos

Também podemos criar um arquivo ema directory that is relative to another directory. Por exemplo, vamos criar um arquivo no diretóriotemp do usuário:

File tempDirectory = new File(System.getProperty("java.io.tmpdir"));
File fileWithRelativePath = new File(tempDirectory, "newFile.txt");

assertFalse(fileWithRelativePath.exists());

Files.touch(fileWithRelativePath);

assertTrue(fileWithRelativePath.exists());

No exemplo acima, nosso novo arquivo é adicionado ao caminho do diretóriotemp do usuário.

3. Usando um Separador de Arquivos Independente de Plataforma

Para construir caminhos de arquivo, precisamos usar separadores como/ ou\. No entanto,the appropriate separator to use depends upon your operating system. Felizmente, existe uma maneira mais fácil. Podemos usarFile.separator do Java em vez de caracteres separadores. Como resultado, o Java escolhe o separador apropriado para nós.

Vejamos um exemplo de criação de um arquivo com este método:

File tempDirectory = new File(System.getProperty("java.io.tmpdir"));
File newFile = new File(tempDirectory.getAbsolutePath() + File.separator + "newFile.txt");

assertFalse(newFile.exists());

Files.touch(newFile);

assertTrue(newFile.exists());

UsandoFile.separator, Java sabe como construir caminhos com base no sistema de arquivos subjacente.

4. Conclusão

Neste artigo, exploramos as diferenças entre caminhos absolutos e relativos e como criar caminhos de arquivos que funcionam em vários sistemas operacionais importantes.

Como sempre, o código de exemplo está disponívelover on GitHub.