ホームページ >Java >&#&チュートリアル >SpringBoot が Linux にデプロイされている場合にリソースの下のファイルを読み取る方法
日常の業務開発では、リソースフォルダーに固定のリソースファイルを置き、使用する際に相対パスでファイルを取得することが多いですが、非常にシンプルな機能に見えます
取得したファイルの内容が文字化けしていたり、ファイルを読み取れなかったりするなど、小さな落とし穴があるようです。
これは非常に簡単で、後で取得するファイルはコンパイルせずにそのままパッケージに入れることをMavenプラグインに指定します。
ファイルを読むこれは小さな落とし穴で、問題を見つけるのに 1 ~ 2 時間かかりました。 。 。 。 。絶望まず、絶対に実現不可能な方法を2つ挙げます。主な理由は、開発環境では問題ないが、本番環境では動作しないからです。<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>以下は実現可能な方法ですが、いくつかの落とし穴があります。 。 。 。 。 。この落とし穴はまったくの偶然によって引き起こされたものです
方法一: File currentFolder = ResourceUtils.getFile("classpath:excelTemplate/model.xls"); 方法二: this.class.getResourceAsStream("excelTemplate/model.xls");これら 2 つの方法は間違いなく使いやすいです。ファイルを取得するときにエラーを報告した友人もいるかもしれません。エラーが発生した場合も、ローカルでファイルを開いて今すぐ試してください。ファイルを確認してください。破損はありますか。 写真と真実があると間違いなく役立ちます
以上がSpringBoot が Linux にデプロイされている場合にリソースの下のファイルを読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。