Question

Je suis en train de charger un fichier texte à partir du package src. Je ne veux pas charger comme un flux d'entrée. Je voudrais le charger comme FileReader.

En regardant comment les icônes NetBeans de charges, j'ai essayé d'utiliser le code:

getClass().getResourcesAsStream("/getresources/test.txt");

Cependant, je ne peux pas trouver un moyen de convertir un flux entrant en FileReader. Y at-il de toute façon ne le faire pour que je puisse utiliser un FileReader. Je sais que je pouvais briser le InputStream vers le haut dans les lignes moi, mais cela semble à beaucoup de travail.

Merci!

nt

Était-ce utile?

La solution

Vous auriez probablement eu envie d'utiliser un BufferedReader à la place. Il a les mêmes avantages d'un FileReader, peut lire ligne par ligne, etc, et accepte une InputStreamReader qui accepte un InputStream. Ces classes IO sont en fait une mise en œuvre du modèle décorateur bien connu. Si vous lisez sur ce modèle, vous comprendrez probablement toutes ces classes IO plus.

Un FileReader attend un fichier.

Autres conseils

Notez qu'une ressource classpath pourrait ne pas être accessible à partir du système de fichiers. En outre, je suppose une API décente accepterait un Reader plutôt qu'un FileReader. Vous pouvez le faire:

Reader reader = new InputStreamReader(inputStream);

Puisque vous avez une ressource transmis en continu (ce qui pourrait provenir d'une URL) et non un fichier, je suggère d'utiliser un InputStreamReader.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top