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");
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“.
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");
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“.
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();
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(); }
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");
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.
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();
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(); }
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");
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"); }
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);
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.
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);
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.
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();
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!