J'ai un conditionnel pour vérifier si un certain fichier existe avant de continuer ( ./logs/error.log
). S'il n'est pas trouvé, je veux le créer. Cependant, sera
File tmp = new File("logs/error.log");
tmp.createNewFile();
créer aussi logs/
s'il n'existe pas?
File theDir = new File(DirectoryPath); if (!theDir.exists()) theDir.mkdirs();
la source
File directory = new File(tmp.getParentFile().getAbsolutePath()); directory.mkdirs();
Si les répertoires existent déjà, rien ne se passera, vous n'avez donc besoin d'aucune vérification.
la source
Style Java 8
Path path = Paths.get("logs/error.log"); Files.createDirectories(path.getParent());
Pour écrire sur fichier
Files.write(path, "Log log".getBytes());
Lire
Exemple complet
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(); } } }
la source
StringUtils.touch(/path/filename.ext)
va maintenant (> = 1.3) créer également le répertoire et le fichier s'ils n'existent pas.la source
FileUtils.touch(new File(file_path))
Non, et s'il
logs
n'existe pas, vous recevrezjava.io.IOException: No such file or directory
Fait amusant pour les développeurs Android: appelle les goûts de
Files.createDirectories()
etPaths.get()
fonctionnerait avec la prise en charge de l'API min 26.la source