web-dev-qa-db-fra.com

Java - Obtenir le fichier du même paquet

Si je veux lire "Words.txt" qui est dans le même paquet que la classe, comment pourrais-je le faire? Faire simplement Scanner = new Scanner(new File("Words.txt")); renvoie une erreur.

12
Ronan H
InputStream is = MyClass.class.getResourceAsStream("Words.txt");
...
16
Jiri Kremser
Scanner = new Scanner(new File("/path/to/Words.txt")); 

L'argument dans le constructeur File (), Si le chemin est relatif au système sur lequel votre VM est en cours d'exécution, il ne dépend pas du paquet de la classe. 

Si votre words.txt est une ressource fournie avec votre war, vous pouvez voir ici: Charger une ressource de n'importe où dans classpath

2
Majid Laissi

En supposant que le fichier texte se trouve dans le même répertoire que le .class, plutôt que le fichier .Java que vous pouvez utiliser.

Scanner scanner = new Scanner(getClass().getResourceAsStream("Words.txt"));

Ce que vous avez va chercher le fichier dans le répertoire de travail actuel. Lorsque vous construisez votre programme, il s’agit généralement du répertoire racine de votre programme. Lorsque vous l'exécutez en tant que programme autonome, il s'agit généralement du répertoire à partir duquel le programme a été lancé.

1
Peter Lawrey
Scanner scanner = new Scanner(getClass().getResourceAsInputStream("Words.txt"));

String s = new String();

while(scanner.hasNextLine()){


        s = s + scanner.nextLine();


 }
0
Kumar Vivek Mitra