java中使用fileInputStream类转换csv数据时的字符编码问题

java中使用fileInputStream类转换csv数据时的字符编码问题,java,csv,fileinputstream,Java,Csv,Fileinputstream,嗨,我手里拿着一个csv文件,我试图读取csv文件中的每一行,并将内容更新到数据库表中。我用java做这个 以下是我为实现这一目标所做的事情 FileInputStream fileInputStream = FileUtils.openInputStream("filename.csv"); dataInputStream = new DataInputStream(fileInputStream); BufferedReader bufferedReader = new BufferedRe

嗨,我手里拿着一个csv文件,我试图读取csv文件中的每一行,并将内容更新到数据库表中。我用java做这个

以下是我为实现这一目标所做的事情

FileInputStream fileInputStream = FileUtils.openInputStream("filename.csv");
dataInputStream = new DataInputStream(fileInputStream);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(dataInputStream));
String strLine;
while((strLine = bufferedReader.readLine()) != null){
        System.out.println(strLine);
}
但它在控制台上打印类似块的内容,而不是实际的数据


有人能帮我解决这个问题吗?

你应该找出它是什么编码,然后在阅读时声明它,例如UTF-16:

new InputStreamReader(zipFile.getInputStream(entry), "UTF_16" )

要自动检查而不是手动猜测文件的编码,您可以使用“我如何使用您提供的上述链接确定csv文件中使用的字符编码类型…”?非常好的建议eee我将来肯定会使用它@蒂约克瓦格瑞斯试一试