我试图访问资源文件夹中的一个特定文件,抓取该uri,将其转换为一个toString,然后使用该文件通过ftp将其发送到服务器。下面是我目前使用的代码,但我一直得到一个FileNotFoundException。如果有人能告诉我我做错了什么,或者提供一个替代的方法,那将是非常棒的。
@Value("classpath:submitTest.txt")
private Resource res;
private String submitJcl(FTPClient ftp, String serverName) throws IOException {
FileInputStream inputStream = new FileInputStream(res.getURI().toString());
ftp.storeFile(serverName, inputStream);
return result;
}
错误。
2020-05-13 09:04:25.353 ERROR 11472 --- [nio-8443-exec-3] c.cat.pis.service.CnlLetterServiceImpl : java.io.FileNotFoundException: file:\C:\Users\mallid2\eclipse-new-PIS\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Product%20Information%20System%20(PIS)\WEB-INF\classes\submitTest.txt (The filename, directory name, or volume label syntax is incorrect)
你可以使用getClass().getClassLoader().getResource()来获取Resource文件夹中的文件,例如
File file = new File(getClass().getClassLoader().getResource("submitTest.txt").getFile();
或者如果你需要输入流,那么你可以使用。
InputStream resourceAsStream = getClass().getClassLoader().getResourceAsStream("submitTest.txt");
希望这能帮到你