码迷,mamicode.com
首页 > 编程语言 > 详细

Java读数据是的编码问题。

时间:2014-07-19 17:29:50      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:style   java   color   使用   strong   os   

 

今天使用Java的I/O读写数据的时候,出现了中文乱码问题,在老师的帮助下找到了问题的根源:

在window中新建文件时,如果你新建的是文本文件或者是一个windows无法识别的文件,他默认使用的编码是ANSI。

而Java I/O默认使用的是UTF-8。这是就会出现中文的乱码问题

 

解决方法:

1:可以手动把文件另存为UTF-8格式。

2:读写数据时设置编码:见以下代码中的红色部分

 

 

public static String getNewTheme(String newTitle,String comment) throws IOException{
    File file = new File("H:\\theme.template");
    InputStream inter = new FileInputStream(file);
    BufferedInputStream buffereIner = new BufferedInputStream(inter);

    byte[] buffer =new byte[50];

    int len = buffereIner.read(buffer);
    buffereIner.close();


    //读数据时设置编码
    String oldTitle= new String(buffer,0,len,"UTF-8");


    System.out.println(oldTitle);
    oldTitle=oldTitle.replace("title", newTitle);
    oldTitle=oldTitle.replace("comment", comment);
    
    OutputStream outer = new FileOutputStream(new File("H:\\new.template"));
    BufferedOutputStream buffereouter = new BufferedOutputStream(outer);
    
    buffereouter.write(oldTitle.getBytes());
    buffereouter.close();
    
    System.out.println(oldTitle);
    return null;
    }

Java读数据是的编码问题。,布布扣,bubuko.com

Java读数据是的编码问题。

标签:style   java   color   使用   strong   os   

原文地址:http://www.cnblogs.com/qufanblog/p/3853906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!