Maison >Java >javaDidacticiel >Comment lire des fichiers sous ressources lorsque SpringBoot est déployé sur Linux
Dans le développement commercial quotidien, nous plaçons généralement des fichiers de ressources fixes dans le dossier des ressources et obtenons les fichiers via des chemins relatifs lors de leur utilisation. Cela semble être une fonction très simple
Il semble y avoir quelques petits pièges. . , par exemple, le contenu du fichier obtenu est tronqué ou le fichier ne peut pas être lu.
C'est très simple Spécifiez dans le plug-in maven que les fichiers à obtenir ultérieurement ne seront pas compilés et mis dans le package tels quels
<plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-resources-plugin</artifactid> <configuration> <nonfilteredfileextensions> <nonfilteredfileextension>sql</nonfilteredfileextension> <nonfilteredfileextension>xlsx</nonfilteredfileextension> <nonfilteredfileextension>xls</nonfilteredfileextension> </nonfilteredfileextensions> </configuration> </plugin>
C'est un petit gouffre. , et j'ai dû le bricoler plusieurs fois. Il a fallu des heures pour trouver le problème. . . . . Désespéré
Tout d'abord, énumérez deux méthodes absolument irréalisables. La raison principale est qu'il n'y a aucun problème dans l'environnement de re-développement, mais cela ne fonctionnera pas en production
方法一: File currentFolder = ResourceUtils.getFile("classpath:excelTemplate/model.xls"); 方法二: this.class.getResourceAsStream("excelTemplate/model.xls");
Je parlerai des méthodes réalisables ci-dessous, mais il y en a aussi. quelques pièges. . . . . . Ce piège est purement accidentel.
方法一: Resource resource = new ClassPathResource("excelTemplate/model.xls"); InputStream resourceAsStream = resource.getInputStream(); 方法二: InputStream resourceAsStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("excelTemplate/model.xls");
Ces deux méthodes sont définitivement faciles à utiliser. Certains amis ont peut-être signalé une erreur lors de l'obtention du fichier, si une erreur se produit également, vous pouvez l'ouvrir localement et l'essayer maintenant pour voir si le fichier est correct. le fichier est endommagé.
Avoir des images et la vérité est certainement utile
Ne vous méprenez pas sur le fait que le programme fonctionne effectivement sous Linux. Afin de le vérifier, utilisez l'outil de développement Remote pour déboguer et prendre des captures d'écran facilement
.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!