gpt4 book ai didi

java - 如何使用类路径指定文件位置?

转载 作者:行者123 更新时间:2023-11-29 05:29:51 25 4
gpt4 key购买 nike

这是我的maven项目的结构:

main和test文件夹在src文件夹下,java和resources文件夹在main文件夹下,在资源文件夹中,有一个可供读取的 csv 文件。

src  
--main
|-- java
|-- resources
|-- test.csv
test

据我所知,
InputStream file = ClassLoader.getSystemResourceAsStream("test.csv");
可以获取资源文件中的文件内容。

然而,为了基于 supercsv 库读取和解析 csv 文件,我必须使用以下代码,但 CsvBeanReader 方法不接受 InputStream。

beanReader = new CsvBeanReader(new FileReader(CSV_FILENAME), CsvPreference.STANDARD_PREFERENCE);   

那么我怎样才能不仅从基于maven结构的资源文件夹中获取文件,而且CsvBeanReader可以接受传入的参数。

最佳答案

尝试使用 InputStreamReader而不是 FileReader

这是可能的,因为 CsvBeanReader 的构造函数接受抽象类 Reader :

CsvBeanReader(Reader reader, CsvPreference preferences)
//Constructs a new CsvBeanReader with the supplied Reader and CSV preferences.

您可以使用您获得的InputStream构造InputStreamReader:

InputStreamReader(InputStream in)
InputStreamReader(InputStream in, Charset cs)
InputStreamReader(InputStream in, CharsetDecoder dec)
InputStreamReader(InputStream in, String charsetName)

关于java - 如何使用类路径指定文件位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21506408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com