FileInputStream utilizando la ruta de acceso del paquete

Estoy tratando de leer un archivo como :

FileInputStream fileInputStream = new FileInputStream("/com/test/Test.xml");

Siempre estoy de obtener el archivo no se encuentra la excepción. ¿Cómo puedo hacer que funcione? Será el inputstream toma la ruta relativa o no?

InformationsquelleAutor Krishna | 2012-05-22

4 Kommentare

  1. 7

    Sí, esto puede tomar la ruta de acceso relativa.

    Por qué su expresión no funciona? Muy sencillo: su ruta /com/test/Test.xml es absoluta, porque se inicia con /, por lo que en realidad estás buscando el archivo que se encuentra en /com/test/ directorio a partir de la raíz.

    Cómo resolver el problema?

    Creo que usted está tratando de encontrar el archivo que se encuentre bajo su proyecto. Así, usted puede utilizar la ruta relativa como ./com/test/Test.xml o com/test/Test.xml. Probablemente esto te va a ayudar. Probablemente, porque yo no sé lo que es su directorio actual de trabajo y su estructura de archivos. El directorio actual es donde usted se encuentra cuando se ejecuta java. Si está ejecutando desde el IDE normalmente el directorio de trabajo es el directorio de su proyecto.

    En este caso yo creo que la ruta de acceso ./com/test/Test.xml no es válido porque el archivo de Test.xml no se encuentra directamente en el marco del proyecto «root», pero en algún lugar bajo ./src/resources/com/test o así.

    En este caso, probablemente no desea leer el archivo como un archivo sino como un recurso (que se encuentra en su ruta de clase). En este caso, utilice

    getClass().getResourceAsStream("/com/test/Test.xml")

  2. 0

    Probar este,

    String str = "Test.xml";
      File file = new File(str);
      String absolutePathOfFirstFile = file.getAbsolutePath();
      FileInputStream fileInputStream = new FileInputStream(absolutePathOfFirstFile);
    • la respuesta anterior es realmente buena explicación. por favor, lea la
  3. 0

    Su ruta de acceso debe ser incorrecta. Usted puede consultar el directorio actual por el uso de System.getProperty("user.dir"); o la impresión de la ruta de new File(".")

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea