2012-09-14 23 views
10

Si deseo leer de "Words.txt" que está en el mismo paquete que la clase, ¿cómo podría hacerlo? Hacer simplemente Scanner = new Scanner(new File("Words.txt")); devuelve un error.Java - Obtención de un archivo del mismo paquete

+6

trate de poner el archivo .txt en la raíz de su proyecto. Si bien los archivos de texto pueden estar en la misma carpeta que los archivos de un paquete en particular, eso no los convierte en parte del paquete. En su lugar, debe cargarlo desde el sistema de archivos (o alternativamente, desde el contenedor o guerra). – Marvo

+0

Esto funcionó; ¡Gracias! –

Respuesta

0

Suponiendo que el archivo de texto se encuentra en el mismo directorio que el .class, en lugar del archivo .java que puede hacer

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

Lo que tienes buscará el archivo en el directorio de trabajo actual. Cuando construyes tu programa, este suele ser el directorio raíz de tu programa. Cuando lo ejecuta como un programa independiente, generalmente es el directorio desde el que se inició el programa.

+1

No sé si cada respuesta solo se basa en otra o el nombre del método acaba de cambiar, pero es 'getClass(). GetResourceAsStream (" Words.txt ")' – Winter

+0

@Winter basado en mi memoria escamosa, creo. Gracias. –

15
InputStream is = MyClass.class.getResourceAsStream("Words.txt"); 
... 
+0

funciona si importa un JAR que usa este código – kommradHomer

2
Scanner = new Scanner(new File("/path/to/Words.txt")); 

El argumento en el constructor de archivos(), es la ruta relativa al sistema de la máquina virtual se está ejecutando en, que s no depende de paquete de la classe.

Si su words.txt es un recurso empaquetado con su guerra se puede ver aquí: Load resource from anywhere in classpath

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

String s = new String(); 

while(scanner.hasNextLine()){ 


     s = s + scanner.nextLine(); 


} 
+0

Quiere decir 'getClass(). GetResourceAsStream (" Words.txt ")' – Winter

Cuestiones relacionadas