导入java文件中文乱码,java 读取文件乱码设置编码格式

  导入java文件中文乱码,java 读取文件乱码设置编码格式

  

  java写入文件是乱码

  我们在读写文件流的时候,经常会遇到乱码的现象。当然,乱码的原因并不只有一个。本文主要介绍文件编码格式导致的乱码。首先要明确文本文件和二进制文件的概念和区别。

  文本是基于字符编码的文件。常见的编码方式有ASCII编码、UNICODE编码、ANSI编码等。二进制文件是基于值编码的文件。可以根据具体应用指定某个值的含义(这样的过程可以看作是自定义编码。)

  所以可以看出,文本文件基本都是定长编码的(也有UTF-8等非定长编码)。二进制文件可以看作是变长编码,因为它是数值编码。多少位代表一个值完全取决于你。

  具体操作如下:

  以文件指定的格式编写文件。

  /**

  *按照指定的路径和编码格式保存文件内容,这种方法因为是以字符串为载体,为了正确写入文件(不乱码),只能写入文本内容,是一种安全的方法。

  *

  * @param数据

  *要写入文件的字节数据

  * @param路径

  *文件路径,包括文件名

  * @return布尔值

  *写入完成时返回true

  */

  公共静态布尔写文件(字节数据[],字符串路径,字符串代码){

  布尔标志=真;

  OutputStreamWriter osw=null

  尝试{

  File file=新文件(路径);

  如果(!file.exists()){

  file=新文件(File . get parent());

  如果(!file.exists()){

  file . mkdirs();

  }

  }

  if(asci 。等于(代码)){

  code= GBK ;

  }

  osw=new OutputStreamWriter(新文件输出流(路径),代码);

  osw.write(新字符串(数据,代码));

  OSW . flush();

  }catch(异常e){

  e . printstacktrace();

  log.info(toFile IO异常: e . getmessage());

  flag=false

  }最后{

  尝试{

  如果(osw!=null){

  OSW . close();

  }

  }catch(IOException e){

  e . printstacktrace();

  log.info(toFile IO异常: e . getmessage());

  flag=false

  }

  }

  返回标志;

  }我们,大量免费的入门Java教程,欢迎在线学习!就是java写文件细节乱码。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: