我导入txt文件到数据库,当将txt数据导入到list里面后,发现list里面的数组中的中文为乱码?希望各位不吝赐教
解决方案 »
- statement问题
- 有个SQL希望大家给些优化的帮助
- hibernate的lazy和cascade的问题
- MyEclipse下的Java ee开发
- 这个错误是什么意思,怎么处理?重来没见过呀
- 请问hibernate使用tomcat的连接池的时候为什么抛出java.lang.UnsupportedOperationException?
- 如何修改编译过的class类
- 这个错误是什么意思??
- 高分求《Struts in action》!
- CXF根据wsdl生成Java代码异常:Property "Any" is already defined.
- 如何实现打开文件、但不让用户保存?
- 这问题你们没遇到过吗??Hibernate 多对一 如何不 级联保存!!!
你好,你能贴代码吗?
BufferedReader的话BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("文件名") , "GBK"));还有数组如果是byte[],还行,如果是char[]乱码就已经乱了
BufferedReader br = new BufferedReader(fileReader) ; //读文件
String[] str ;
String s;
try {
while ((s = br.readLine()) != null) {
str = s.split("\\|");
list.add(str);
}
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO: handle exception
e.printStackTrace();
}
//System.out.println("文件内容是:" + "\r\n" + readStr);
return list;
然后在manager里面调用上面方法
ArrayList list = txt.readTxt(path + filenames[i]);
开始循环
swdjdd = (String[]) list.get(j);
然后这时候,这个字符串数组里面的中文就为乱码了
请问可不可以在这里修改swdjdd的编码格式?
swdjdd这时候不太好改了把。。你的fileReader是哪里来得? 是FileReader类吧??
改成InputStreamReader类。InputStreamReader fileReader = new InputStreamReader(new FileInputStream("文件名") , "GBK");
然后
BufferedReader br = new BufferedReader(fileReader);谢谢。
如果还乱码,请修改GBK->UTF-8.。。再试试看。