[Java/File]读取日文CSV文件不乱码

复制代码
try {
            StringBuilder sb=new StringBuilder();
            sb.append("\nContent in File:'"+filePathname+"'\n");
            BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePathname)), "shift_jis"));  
            String line = null;  
            int lineNo=1;
            while( ( line = br.readLine() ) != null ) {
                sb.append("Line#"+lineNo+"\n");
                
                String[] arr=line.split("(^\\s*\")|(\"\\s*,\\s*\")|(\"\\s*$)");
                
                for(int i=1;i<arr.length;i++) {// Jump first empty string
                    sb.append("    Column:"+i+" text='"+arr[i]+"'\n");
                }
                
                lineNo++;
            }
            br.close();  
            logger.info(sb.toString());
        } catch (FileNotFoundException ex) {
            logger.info("Cannot find the file:'"+filePathname+"because of the FileNotFoundException:'"+ex.getLocalizedMessage()+"'.");
        } catch (IOException ex) {
            logger.info("Cannot read the file:'"+filePathname+"because of the IOException:'"+ex.getLocalizedMessage()+"'.");
        } 
复制代码

上文红字是关键.

--END-- 2019-12-03 13:20

posted @   逆火狂飙  阅读(611)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示