spring boot项目作为非web项目,项目结构如下,
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── hlj
│ │ │ ├── MailConfig.java
│ │ │ └── SendEmailShellApplication.java
│ │ └── resources
│ │ ├── application.properties
│ │ └── usage.txt
在SendEmailShellApplication
我要打印usage.txt
的内容,
我试过下面的代码,但都失败了。
第一
Files.readAllLines(Paths.get("/usage.txt")).forEach(System.out::println);
抛出异常:
Caused by: java.nio.file.NoSuchFileException: /usage.txt
尝试了另一个:
Files.readAllLines(Paths.get(this.getClass().getResource("/usage.txt").getFile())).forEach(System.out::println);
抛出异常:
Caused by: java.nio.file.NoSuchFileException: file:/home/foo/workspace/bar/spring-boot-send-email-shell/target/send-email-shell-0.0.1-SNAPSHOT.jar!/usage.txt
然后尝试:
Files.readAllLines(Paths.get(new ClassPathResource("usage.txt").getURI())).forEach(System.out::println);
抛出异常:
Caused by: java.nio.file.FileSystemNotFoundException
那么如何正确查找usage.txt
中的Paths.get()
文件?