Créer un fichier objet à partir d'une ressource chemin vers une image dans un fichier jar
J'ai besoin de créer un Fichier objet en dehors d'un chemin de fichier d'une image contenue dans un fichier jar après la création d'un fichier jar. Si essayé d'utiliser:
URL url = getClass().getResource("/resources/images/image.jpg");
File imageFile = new File(url.toURI());
mais ça ne fonctionne pas. Personne ne sait d'une autre façon de faire?
OriginalL'auteur MBU | 2011-01-04
Vous devez vous connecter pour publier un commentaire.
Habituellement, vous ne pouvez pas obtenir un
java.io.File
objet, puisqu'il n'existe pas de fichier physique pour une entrée dans une archive compressée. Soit vous vivez avec un flux (ce qui est préférable dans la plupart des cas, puisque toutes les bonnes API peut travailler avec des flux) ou vous pouvez créer un fichier temporaire:Apache Commons-IO
Notez que l'extrait de code ne serait pas de travail, soit une applet ou une application. déployé à l'aide de témoins de jéhovah. À moins que la ressource nécessite la modification (peu probable avec une image), de l'élargir à un fichier temporaire est généralement pas la voie à suivre.
OriginalL'auteur mhaller
De créer un fichier sur Android à partir d'une ressource ou un fichier raw je fais ceci:
OriginalL'auteur Blundell
Cela devrait fonctionner.
getResource
renvoie uneURL
,getResourceAsStream
retourne unInputStream
OriginalL'auteur Will
Vous ne pouvez pas créer un Fichier objet d'une référence à l'intérieur d'une archive. Si vous avez absolument besoin d'un objet Fichier, vous devez extraire le fichier dans un emplacement temporaire en premier. D'autre part, la plupart des bons API permettra aussi de prendre un flux d'entrée au lieu de cela, vous pouvez obtenir un fichier dans une archive.
getResourceAsStream
au lieu degetResource
OriginalL'auteur Konstantin Komissarchik