问题描述:
启动java jar包时,报jar包指定路径下的文件不存在,而文件事实上是存在的
报错代码:
Resource resource = new ClassPathResource("static/test.json");
File file = resource.getFile(); // 该行拿不到jar包内resources目录下的文件
FileInputStream fis = new FileInputStream(file);
正常运行代码:
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import java.io.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
Resource resource = new ClassPathResource("static/test.json");
InputStream is = resource.getInputStream(); // 文件在jar包中时,需要通过流来获取文件内容
Reader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
Stream<String> lines = br.lines();
System.out.println(lines.collect(Collectors.joining()));