Maison > Java > javaDidacticiel > Comment puis-je modifier de manière fiable le répertoire de travail actuel dans un programme Java ?

Comment puis-je modifier de manière fiable le répertoire de travail actuel dans un programme Java ?

Linda Hamilton
Libérer: 2024-12-28 04:24:15
original
847 Les gens l'ont consulté

How Can I Reliably Change the Current Working Directory in a Java Program?

Réécriture du répertoire de travail actuel pour les programmes Java

Malgré les hypothèses courantes, modifier le répertoire de travail actuel (CWD) dans un programme Java n'est pas simple . Malgré la possibilité de récupérer le CWD et d'ouvrir des fichiers à l'aide de chemins relatifs, Java ne dispose pas d'une méthode fiable pour la modification directe.

Limitations de System.setProperty("user.dir")

Le paramètre "user.dir" ne modifie pas efficacement le CWD pour toutes les opérations ultérieures. Bien que cela puisse affecter certaines opérations de création de fichiers, d'autres fonctions telles que FileOutputStreams ne sont pas affectées.

Approches alternatives

Pour contourner cette limitation, envisagez les alternatives suivantes :

  • File(String parent, String child) Constructeur : Décomposez le chemin de votre répertoire et le chemin du fichier séparément. Cela permet un échange et une modification plus faciles.
  • Exécution de script : Créez un script qui exécute Java à partir du répertoire souhaité.
  • Java Native Interface (JNI) : Tirez parti du code natif pour modifier directement le CWD. Cependant, cela nécessite une implémentation spécifique à la plate-forme.

Bogue non résolu

Le problème sous-jacent a été soulevé en tant que bogue OpenJDK en 2008, mais il a ensuite été fermé. "ne résoudra pas." Cela suggère que la conception de Java ne donne pas la priorité à la possibilité de modifier le CWD de manière dynamique au sein des applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal