ホームページ > Java > &#&チュートリアル > SpringBoot が Linux にデプロイされている場合にリソースの下のファイルを読み取る方法

SpringBoot が Linux にデプロイされている場合にリソースの下のファイルを読み取る方法

王林
リリース: 2023-05-11 10:01:05
転載
1610 人が閲覧しました

背景

日常の業務開発では、リソースフォルダーに固定のリソースファイルを置き、使用する際に相対パスでファイルを取得することが多いですが、非常にシンプルな機能に見えます
取得したファイルの内容が文字化けしていたり​​、ファイルを読み取れなかったりするなど、小さな落とし穴があるようです。

文字化けを読む

これは非常に簡単で、後で取得するファイルはコンパイルせずにそのままパッケージに入れることを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 にデプロイされている場合にリソースの下のファイルを読み取る方法

#プログラムが実際に Linux 上で実行されていると誤解しないでください。それを確認するには、開発ツールのリモート スクリーンショットを使用して簡単にデバッグしてください


SpringBoot が Linux にデプロイされている場合にリソースの下のファイルを読み取る方法

以上がSpringBoot が Linux にデプロイされている場合にリソースの下のファイルを読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート