Code ví dụ Spring đọc file từ resource folder (resources)
Code ví đọc file từ resources folder dưới đây áp dụng cho cả project Spring MVC và project Spring Boot
Tạo Maven Project
Tạo project, và đọc file trong folder src/main/resources
là file demo.txt
Thư viện sử dụng
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.0.2.RELEASE</version> </dependency>
File demo.txt
Cách 1: đọc file thông qua ClassLoader
Với cách này ta không cần sử dụng đến thư viện của Spring Framework.
public static void readFileUsingClassLoader() throws IOException { System.out.println("Read file from resource folder via ClassLoader"); String fileName = "files/demo.txt"; // ClassLoader classLoader = new ReadFile().getClass().getClassLoader(); ClassLoader classLoader = ClassLoader.getSystemClassLoader(); File file = new File(classLoader.getResource(fileName).getFile()); // Read File Content String content = new String(Files.readAllBytes(file.toPath())); System.out.println(content); }
Tạo ClassLoader thông qua class hiện tại new ReadFile().getClass().getClassLoader();
hoặc thông qua ClassLoader.getSystemClassLoader();
Cách 2: đọc file sử dụng Spring ResourceUtils
public static void readFileUsingResourceUtils() throws IOException { System.out.println("Read file from resource folder using Spring ResourceUtils"); File file = ResourceUtils.getFile("classpath:files/demo.txt"); // Read File Content String content = new String(Files.readAllBytes(file.toPath())); System.out.println(content); }
Demo
Code ví dụ Spring đọc file từ resource folder (resources) stackjava.com
Okay, Done!
Download code ví dụ trên tại đây.
References:
https://docs.spring.io/spring/docs/…/ResourceUtils.html
https://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html