Heim  >  Artikel  >  Java  >  So lesen Sie Dateien unter Ressourcen, wenn SpringBoot unter Linux bereitgestellt wird

So lesen Sie Dateien unter Ressourcen, wenn SpringBoot unter Linux bereitgestellt wird

王林
王林nach vorne
2023-05-11 10:01:051573Durchsuche

Hintergrund

In der täglichen Geschäftsentwicklung legen wir normalerweise einige feste Ressourcendateien im Ressourcenordner ab und rufen die Dateien bei der Verwendung über relative Pfade ab. Es scheint eine sehr einfache Funktion zu sein. Es scheint einige kleine Fallstricke zu geben . Beispielsweise ist der erhaltene Dateiinhalt verstümmelt oder die Datei kann nicht gelesen werden.

Verstümmelte Zeichen lesen

Dies ist sehr einfach. Geben Sie im Maven-Plugin an, dass die später abzurufenden Dateien nicht so kompiliert und in das Paket eingefügt werden, wie sie sind.

<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>
Dateien lesen

Dies ist eine kleine Grube , und ich muss ein paar Mal daran herumbasteln. Es hat Stunden gedauert, bis ich das Problem gefunden habe. . . . . Verzweifelt

Listen Sie zunächst zwei absolut undurchführbare Methoden auf. Der Hauptgrund ist, dass es in der Neuentwicklungsumgebung kein Problem gibt, aber in der Produktion nicht funktionieren wird

方法一:
File currentFolder = ResourceUtils.getFile("classpath:excelTemplate/model.xls");
方法二:
this.class.getResourceAsStream("excelTemplate/model.xls");
Ich werde unten auf die durchführbaren Methoden eingehen, aber es gibt sie auch einige Fallstricke. . . . . . Diese Falle ist reiner Zufall.

rrree

Einige Freunde haben möglicherweise einen Fehler beim Abrufen der Datei gemeldet. Sie können sie jetzt lokal öffnen und ausprobieren Datei ist beschädigt.

Bilder und die Wahrheit zu haben ist auf jeden Fall hilfreich


So lesen Sie Dateien unter Ressourcen, wenn SpringBoot unter Linux bereitgestellt wird

Verstehen Sie nicht, dass das Programm tatsächlich unter Linux läuft. Um es zu überprüfen, verwenden Sie zum Debuggen und Erstellen von Screenshots einfach das Entwicklungstool Remote

Das obige ist der detaillierte Inhalt vonSo lesen Sie Dateien unter Ressourcen, wenn SpringBoot unter Linux bereitgestellt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen