Comment puis-je référencer une ressource dans Java?

J'ai besoin de lire un fichier dans mon code. Il habite ici:

C:\eclipseWorkspace\ProjectA\src\com\company\somePackage\MyFile.txt

Je l'ai mis dans un package source, de sorte que lorsque je créer un runnable jar file (Exportation->Runnable JAR file) il est inclus dans le pot. À l'origine, je l'ai eu dans la racine du projet (et j'ai aussi essayé un normal sous-dossier), mais l'exportation n'était pas compris dans le pot.

Si dans mon code je fais:

File myFile = new File("com\\company\\somePackage\\MyFile.txt");

le fichier jar correctement trouve le fichier, mais l'exécution en local (Exécuter en tant Qu'->Java de l'application Principale) jette un fichier non trouvé exception, car il s'attend à le trouver:

File myFile = new File("src\\com\\company\\somePackage\\MyFile.txt");

Mais cela échoue dans mon fichier jar. Donc ma question est, comment puis-je faire de ce concept de travail pour les deux cours d'exécution au niveau local et dans mon fichier jar?

source d'informationauteur Chris Knight | 2010-09-16