我在项目的类路径中有一个tsv文件,我尝试使用getResource()方法读取。我的代码是这样的:
File file=new File(ClassName.class.getResource("/folder/myfile.tsv").getFile());
CSVReader reader=new CSVReader(new FileReader(file),'\t');
因此,当我运行代码时,我收到此消息:
java.io.FileNotFoundException: \folder\myfile.tsv (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
可能是什么问题?
答案 0 :(得分:1)
永远不要使用getResource来获取对java类打包的文件的引用,因为资源可能在运行时位于JAR或WAR文件中。
请改用以下内容:
InputStream is = ClassName.class.getResourceAsStream("/folder/myfile.tsv");
CSVReader reader=new CSVReader(is, '\t', StandardCharsets.UTF_8);