Eu tenho uma condição para verificar se um determinado arquivo existe antes de prosseguir ( ./logs/error.log
). Se não for encontrado, quero criá-lo. No entanto,
File tmp = new File("logs/error.log");
tmp.createNewFile();
também criar logs/
se não existir?
File theDir = new File(DirectoryPath); if (!theDir.exists()) theDir.mkdirs();
fonte
File directory = new File(tmp.getParentFile().getAbsolutePath()); directory.mkdirs();
Se os diretórios já existirem, nada acontecerá, então você não precisa de verificações.
fonte
Estilo Java 8
Path path = Paths.get("logs/error.log"); Files.createDirectories(path.getParent());
Para escrever no arquivo
Files.write(path, "Log log".getBytes());
Ler
Exemplo completo
public class CreateFolderAndWrite { public static void main(String[] args) { try { Path path = Paths.get("logs/error.log"); Files.createDirectories(path.getParent()); Files.write(path, "Log log".getBytes()); System.out.println(Files.readAllLines(path)); } catch (IOException e) { e.printStackTrace(); } } }
fonte
StringUtils.touch(/path/filename.ext)
agora (> = 1.3) também criará o diretório e o arquivo se eles não existirem.fonte
FileUtils.touch(new File(file_path))
Não, e se
logs
não existir você receberájava.io.IOException: No such file or directory
Curiosidade para desenvolvedores de Android: liga para usuários semelhantes
Files.createDirectories()
ePaths.get()
funcionaria no suporte ao min api 26.fonte