2 回答
TA贡献1833条经验 获得超4个赞
首先我不知道你为什么要在这里打印URL,classLoader.getResource已经把你的资源目录作为了这里的根目录。如果您想读取 CSV 并对该文件执行一些操作,则使用 InputStream 直接读取该文件。
像下面这样
public class ReadCSVFiles {
public void read(){
String separator = System.getProperty("file.separator");
ClassLoader cl = ReadCSVFiles.class.getClassLoader();
try (InputStream inputStream = cl.getResourceAsStream("csvfiles/data.csv")) {
InputStreamReader streamReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
BufferedReader reader = new BufferedReader(streamReader);
for (String line; (line = reader.readLine()) != null;) {
// Process line
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
或者,如果您需要获取 URL,然后通过 URL 加载文件,您可以尝试以下操作
URL url = cl.getResource("csvfiles/data.csv");
Path path = Paths.get(url.toURI());
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
添加回答
举报