Java:Les fichiers : Différence entre versions
De WIKI.minetti.org
(Page créée avec « == Accès == === Répertoire ressources === Dans un projet Java, un ou plusieurs répertoires ressources peuvent être mentionnés dans le CLASSPATH. Le code suivant perme... ») |
(Aucune différence)
|
Version actuelle en date du 7 avril 2016 à 17:01
Sommaire
Accès
Répertoire ressources
Dans un projet Java, un ou plusieurs répertoires ressources peuvent être mentionnés dans le CLASSPATH. Le code suivant permet d'accéder aux fichiers de ces répertoires:
InputStream stream = getClass ().getResourceAsStream ("/conf.properties");
Pour obtenir le chemin réel du fichier (à partir de la racine du système):
URL url = getClass ().getResource ("/conf.properties"); String filepath = url.toString ();
Répertoire du paquetage
L'accès à un fichier peut se faire au niveau du répertoire (ou des répertoires) du paquetage de la classe qui accède au fichier:
InputStream stream = getClass ().getResourceAsStream ("conf.properties");
Répertoire racine d'une application web (webapp)
L'accès à un fichier d'une application web situé en dehors du chemin /WEB-INF/classes et d'un des JAR de /WEB-INF/lib, se fait à l'aide du code suivant:
URL url = servletContext.getResource ("/img/logo.png");
Au niveau d'Eclipse, cela correspond au fichier src/main/webapp/img/logo.png.
Concaténation de fichiers
Pour faire une concaténation de 2 fichiers au niveau binaire:
private void appendFile (final File srcFile, final File destFile) throws Exception { final FileWriter fileWriter = new FileWriter(destFile, true); try { final BufferedWriter bufWriter = new BufferedWriter(fileWriter); try { final FileReader fileReader = new FileReader(srcFile); try { final BufferedReader bufReader = new BufferedReader(fileReader); try { while (bufReader.ready()) { bufWriter.write(bufReader.read()); } } finally { bufReader.close(); } } finally { fileReader.close(); } } finally { bufWriter.close(); } } finally { fileWriter.close(); } }
Pour faire une concaténation de 2 fichiers au niveau texte:
private void appendFile (final File srcFile, final File destFile) throws Exception { final FileWriter fileWriter = new FileWriter(destFile, true); try { final BufferedWriter bufWriter = new BufferedWriter(fileWriter); try { final FileReader fileReader = new FileReader(srcFile); try { final BufferedReader bufReader = new BufferedReader(fileReader); try { while (bufReader.ready()) { bufWriter.write(bufReader.readLine()); bufWriter.newLine(); } } finally { bufReader.close(); } } finally { fileReader.close(); } } finally { bufWriter.close(); } } finally { fileWriter.close(); } }