我想将InputStream转换为CSVReader。当我使用下面的代码时

CSVReader reader = new CSVReader(new FileReader(ADDRESS_FILE));


它工作正常,但是,如果我从类路径中获取文件,则此代码不起作用。

如何将InputStream转换为CSVReader

这不起作用,原因InputStream不是字符串类型:

InputStream input = ImportCsv.class.getResourceAsStream("/dataUpload/staff.csv");
CSVReader reader = new CSVReader(new FileReader(input));

最佳答案



CSVReader reader = new CSVReader(new InputStreamReader(input));




编辑以回答评论

问题是因为您没有所需的FileReader构造函数。有关详细信息,请参见FileReader API。但是由于必须将字节流转换为字符流,因此必须使用InputStreamReader。为了获得更好的性能,您还可以使用BufferedReader将其包装

10-06 02:24