导入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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。