Este artículo estudia principalmente el problema de leer archivos en la ruta ClassPath en el proyecto web, de la siguiente manera.
Primero, lo dividimos en dos categorías y lo clasificamos por contenedores web
Uno es un proyecto web ordinario, como el uso del contenedor TomCat, que se caracteriza por el paquete comprimido que se descomprime en una carpeta a medida que se inicia el contenedor. Cuando se accede al proyecto, en realidad está accediendo a la carpeta, no al paquete de jar o guerra.
Este es el método para obtener la ruta this.getClass().getResource("/")+fileName
Método para obtener transmisión this.getClass().getResourceAsStream(failName);
importar org.springframework.util.resourceutils; file = recocesceUtils.getFile ("classpath: test.txt");o
ClasspathResource classpathResource = new ClassPathResource ("test.txt"); Obtenga el archivo: classPathResource .getFile();
Obtener el archivo de archivo: classPathResource .getInputStream();
El segundo tipo es el contenedor web integrado, que tiene la característica de que solo hay un archivo jar, que no se descomprimirá después de que se inicia el contenedor, y el paquete JAR o el paquete de guerra se usa cuando realmente se accede al proyecto.
Este tipo de trampa es el más probable que se encuentre con dificultades. La mayor dificultad es que se lee de primera manera, depurando localmente, funcionando perfectamente y no en el entorno de Linux.
Primero, use el método para obtener la ruta this.getClass().getResource("/")+fileName para obtener el método de flujo this.getClass().getResourceAsStream(failName);
Cuando se ejecuta localmente, se puede encontrar el acantilado e imprime la ruta. Sí, es nuestro directorio de trabajo de Eclipse y directorio de proyectos, pero en el directorio de destino.
Ahora le déjelo analizar por qué se conecta, es GG. Es muy simple. Para proyectos integrados en línea, solo pondremos un archivo jar en él. Entiendo que no se puede obtener el camino en el frasco. El frasco es algo cerrado. A diferencia de las carpetas, no puede ser c: /home/xx.jar/file.txt
Al leer archivos en frascos, solo podemos usar transmisiones para leer, no archivo, el archivo debe involucrar la ruta. Acabo de deletrear el camino de jar
Cómo leer archivos en JAR:
ClasspathResource classpathResource = new ClassPathResource ("test.txt"); Obtener el archivo de archivo: classPathResource .getInputStream();
Resumir
Lo anterior es todo el contenido de este artículo sobre la lectura de los archivos en la ruta ClassPath en proyectos web. Espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!