我想将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
将其包装