Heim > Java > javaLernprogramm > Hauptteil

Wie liest das Springboot-Projekt Dateien im Ressourcenverzeichnis?

WBOY
Freigeben: 2023-05-19 08:29:20
nach vorne
1240 Leute haben es durchsucht

1: Verwenden Sie die Methode ClassLoader.getResourceAsStream()

Sie können den Klassenlader verwenden, um den Eingabestream der Ressourcendatei abzurufen. Diese Methode erfordert die Übergabe eines Ressourcendateipfads als Parameter und gibt dann ein InputStream-Objekt zurück.

InputStream inputStream = getClass().getClassLoader().getResourceAsStream("file.txt");
Nach dem Login kopieren

Beachten Sie, dass der von dieser Methode zurückgegebene Ressourcendateipfad relativ zum Stammpfad des Klassenladers ist. Daher müssen Sie für Dateien im Ressourcenverzeichnis dem Dateinamen „classpath:“ voranstellen. Zum Beispiel: „classpath:file.txt“.

2: Verwenden Sie die Methode Class.getResourceAsStream()

Um Ressourcendateien zu lesen, können Sie die Methode getResourceAsStream() der Class-Klasse verwenden. Diese Methode erfordert die Eingabe des Pfads zu einer Ressourcendatei und gibt ein InputStream-Objekt zurück.

InputStream inputStream = getClass().getResourceAsStream("/file.txt");
Nach dem Login kopieren

Der von dieser Methode zurückgegebene Ressourcendateipfad ist relativ zum Pfad der aktuellen Klasse. Daher müssen Sie für Dateien im Ressourcenverzeichnis dem Dateinamen „/“ voranstellen. Beispiel: „/file.txt“.

3: Verwenden Sie ResourceLoader, um Dateien zu laden.

Verwenden Sie die ResourceLoader-Schnittstelle von Spring, um Ressourcendateien zu laden. Die ResourceLoader-Schnittstelle verfügt über eine getResource()-Methode, die einen Ressourcendateipfadparameter akzeptiert und ein Resource-Objekt zurückgibt.

Resource resource = resourceLoader.getResource("classpath:file.txt");
InputStream inputStream = resource.getInputStream();
Nach dem Login kopieren

Es ist zu beachten, dass das ResourceLoader-Objekt in die Klasse eingefügt und in der Methode verwendet werden muss. Zum Beispiel:

@Autowired
private ResourceLoader resourceLoader;

public void readResourceFile() throws IOException {
    Resource resource = resourceLoader.getResource("classpath:file.txt");
    InputStream inputStream = resource.getInputStream();
}
Nach dem Login kopieren

4: Verwenden Sie ResourceUtils zum Laden von Dateien

Spring stellt die Toolklasse ResourceUtils bereit, die zum Laden von Ressourcendateien verwendet werden kann. Um ein Dateiobjekt abzurufen, verwenden Sie die Methode ResourceUtils.getFile().

File file = ResourceUtils.getFile("classpath:file.txt");
Nach dem Login kopieren

Hinweis: Diese Methode funktioniert nur auf lokalen Dateisystemen und JAR-Dateien. Diese Methode funktioniert möglicherweise nicht, wenn Sie mit WAR-Dateien oder anderen Dateitypen arbeiten.

5: Verwenden Sie ApplicationContext zum Laden von Dateien

Um Ressourcendateien zu laden, können Sie die Methode getResource() in ApplicationContext verwenden. Eine Methode, die einen Ressourcendateipfad als Parameter akzeptiert und ein Resource-Objekt zurückgibt.

Resource resource = applicationContext.getResource("classpath:file.txt");
InputStream inputStream = resource.getInputStream();
Nach dem Login kopieren

Es ist zu beachten, dass das ApplicationContext-Objekt in die Klasse eingefügt und in der Methode verwendet werden muss. Zum Beispiel:

@Autowired
private ApplicationContext applicationContext;

public void readResourceFile() throws IOException {
    Resource resource = applicationContext.getResource("classpath:file.txt");
    InputStream inputStream = resource.getInputStream();
}
Nach dem Login kopieren

6: Dateien mit ServletContext laden

Sie können die Methode getResourceAsStream() von ServletContext verwenden, um Ressourcendateien zu lesen. Der Parameter dieser Funktion ist der Ressourcendateipfad und gibt ein InputStream-Objekt zurück.

InputStream inputStream = servletContext.getResourceAsStream("/WEB-INF/classes/file.txt");
Nach dem Login kopieren

Es ist zu beachten, dass das ServletContext-Objekt in die Klasse eingefügt und in der Methode verwendet werden muss. Zum Beispiel:

@Autowired
private ServletContext servletContext;

public void readResourceFile() throws IOException {
    InputStream inputStream = servletContext.getResourceAsStream("/WEB-INF/classes/file.txt");
}
Nach dem Login kopieren

7: Verwenden Sie das Dateisystem, um Dateien zu laden.

Sie können die File-Klasse verwenden, um Ressourcendateien zu lesen. Der vollständige Dateipfad ist erforderlich.

File file = new File("src/main/resources/file.txt");
InputStream inputStream = new FileInputStream(file);
Nach dem Login kopieren

Es ist zu beachten, dass die Verwendung dieser Methode die Angabe des vollständigen Dateipfads erfordert. Sie müssen also den absoluten Pfad kennen, in dem sich die Datei befindet.

8: Dateien mithilfe von Pfaden und Dateien laden

In Java NIO können Ressourcendateien mithilfe von Pfad- und Dateiklassen gelesen werden. Diese Methode erfordert den vollständigen Dateipfad.

Path path = Paths.get("src/main/resources/file.txt");
InputStream inputStream = Files.newInputStream(path);
Nach dem Login kopieren

Es ist zu beachten, dass die Verwendung dieser Methode die Angabe des vollständigen Dateipfads erfordert. Sie müssen also den absoluten Pfad kennen, in dem sich die Datei befindet.

9: Verwenden Sie ClassPathResource zum Laden von Dateien.

Verwenden Sie die von Spring bereitgestellte ClassPathResource-Klasse, um Ressourcendateien zu lesen. Diese Methode erfordert den relativen Pfad der Ressourcendatei.

ClassPathResource resource = new ClassPathResource("file.txt");
InputStream inputStream = resource.getInputStream();
Nach dem Login kopieren

Es ist zu beachten, dass ClassPathResource im Klassenpfad nach Ressourcendateien sucht, sodass nicht der vollständige Dateipfad angegeben werden muss.

Das obige ist der detaillierte Inhalt vonWie liest das Springboot-Projekt Dateien im Ressourcenverzeichnis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!