Créer des dossiers par programme avec des permissions à l’aide de Java pour enregistrer le contenu à cet emplacement

J’ai installé xampp dans mon système Windows et je l’ai installé dans mon système Linux. Je veux créer un dossier à l’emplacement “http: // localhost /” en utilisant java. J’ai fait ce qui suit:

dirName = new File("http://localhost/"+name); if(!dirName.exists()) { dirName.mkdir(); } 

Est-il possible de faire? L’idée est de télécharger certains fichiers vers cet emplacement par programmation. Le téléchargement fonctionne mais comment créer des dossiers pour pouvoir y accéder via http://domain.com/name . Ceci est nécessaire pour garder une trace du contenu lié à l’utilisateur. J’ai access au serveur Web Apache avec les lampp déjà installés. Comment créer des dossiers et enregistrer les téléchargements dans ce dossier en atsortingbuant les permissions au dossier et à son contenu afin que le contenu enregistré puisse être téléchargé depuis la méthode wget .

En Java, vous pouvez créer des fichiers dans n’importe quel répertoire accessible en écriture sur votre système en procédant comme suit:

 File file1 = new File("/var/www/newDirectory/"); file1.mkdirs(); 

Ensuite, pour créer un fichier dans ce répertoire, vous pouvez faire quelque chose comme ceci:

 File file2 = new File(file1.getAbsolutePath() + "newFile.txt"); // You may need to add a "File.seperator()" after the "file1.getAbsolutePath()" if the trailing "/" isn't included if (file2.exists() == false) { file2.createNewFile(); } 

Pour vous assurer que votre fichier est lisible par le public, vous devez append des permissions de lecture au fichier :

 file2.setReadable(true, false); 

Dans Apache, vous pouvez configurer un hôte virtuel qui pointe vers le répertoire dans lequel vous souhaitez rendre les fichiers disponibles. Par défaut sur debian linux c’est /var/www .

N’utilisez pas l’API de File . Il est accompagné de mauvais comportements pour un travail sérieux sur les systèmes de fichiers.

Par exemple, si une création de répertoire échoue, la méthode .mkdir() renvoie … Une valeur booléenne! Aucune exception n’est levée.

Utilisez plutôt des fichiers .

Par exemple, pour créer un répertoire:

 // Throws exception on failure Files.createDirectory(Paths.get("/the/path"), PosixFilePermissions.asFileAtsortingbute( PosixFilePermissions.fromSsortingng("rwxr-x---") ); 

Utilisez les fichiers Java avec PosixPermission. [Note- PosixPermission n’est pas pris en charge sous Windows]

 Set perms = PosixFilePermissions.fromSsortingng("rwxrwxrwx"); Files.createDirectories(path, PosixFilePermissions.asFileAtsortingbute(perms));