java写入文件是乱码

我们读取、写入文件流时,经常会遇到乱码的现象,造成乱码的原因当然不可能是一个,这里主要介绍因为文件编码格式而导致的乱码的问题。首先,明确一点,文本文件与二进制文件的概念与差异。

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

因此可以看出文本文件基本上是定长编码的(也有非定长的编码如UTF-8)。而二进制文件可看成是变长编码的,因为是值编码嘛,多少个比特代表一个值,完全由你决定。

具体操作如下:

通过文件指定的格式写入文件/**

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

*

* @param data

* 将要写入到文件中的字节数据

* @param path

* 文件路径,包含文件名

* @return boolean

* 当写入完毕时返回true;

*/

public static boolean writeFile(byte data[], String path , String code){

boolean flag = true;

OutputStreamWriter osw = null;

try{

File file = new File(path);

if(!file.exists()){

file = new File(file.getParent());

if(!file.exists()){

file.mkdirs();

}

}

if("asci".equals(code)){

code = "GBK";

}

osw = new OutputStreamWriter(new FileOutputStream(path),code);

osw.write(new String(data,code));

osw.flush();

}catch(Exception e){

e.printStackTrace();

log.info("toFile IO Exception:"+e.getMessage());

flag = false;

}finally{

try{

if(osw != null){

osw.close();

}

}catch(IOException e){

e.printStackTrace();

log.info("toFile IO Exception:"+e.getMessage());

flag = false;

}

}

return flag;

}

php中文网,大量的免费Java入门教程,欢迎在线学习!

java 数据写入txt乱码_java写入文件是乱码相关推荐

  1. 解决java web中safari浏览器下载后文件中文乱码问题

    解决java web中safari浏览器下载后文件中文乱码问题 参考文章: (1)解决java web中safari浏览器下载后文件中文乱码问题 (2)https://www.cnblogs.com/ ...

  2. java输出到txt 换行_Java输出到txt文件时如何加换行符

    Java输出到txt文件时如何加换行符 时间:2017-09-18     来源:华清远见JAVA学院 知道Java输出到txt文件时如何加换行符吗?今天华清Java学院小编就和大家分享三种Java输 ...

  3. java输出到txt 换行_java输出到TXT文件时肿么加换行?

    java输出到txt的时候增加换行符的方法如下: package com.anjoyo.test; import java.io.FileWriter; import java.io.IOExcept ...

  4. java下载乱码怎么解决_java下载文件出现乱码怎么解决

    java下载文件出现乱码怎么解决 发布时间:2020-06-24 13:12:27 来源:亿速云 阅读:108 作者:Leah 这期内容当中的小编将会给大家带来有关java下载文件出现乱码的解决方法, ...

  5. php 写入txt换行_php 写入txt文件内容换行的方法

    今天在利用 php 脚本写一个关于写入 txt 文件内容换行的逻辑时,发现其中的学问挺大的,下面就来详细的来说一下,有需要的就拿去吧.在不同的系统下,txt 文件的换行符是不一样的,比如: windo ...

  6. java printstream 中文乱码_JAVA的中文字符乱码问题

    JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后, 经过极为辛苦的调试和搜索资料后终于解决,满以为自己已经 ...

  7. java图片上传下载_java web 文件上传与下载

    组件工作流程:WEB服务器request ServletFil eupLoad DiskFileItem Factory代表普通字段的FileItem代表上传文件1FileItem代表上传文件2Fil ...

  8. java 数据转成xml_java转换CSV文件生成xml格式数据

    注册CSDN快六个月了,之前一直是看园子里的文章,或者碰到问题时,进来查点资料,今天终于决定写一篇自己在园子里的blog. 好吧,鉴于水平太菜,就只记录过程,其中原理啥的并不是很明晰,所以此blog只 ...

  9. java连接mysql乱码_java链接mysql 中文乱码

    {转!} 背景: 由于最近在开发一个APP的后台程序,需要Java连接远程的MySQL数据库进行数据的更新和查询操作,并且插入的数据里有中文,在插入到数据库后发现中文都是乱码.网上查了很多教程,最后都 ...

最新文章

  1. 详解Linux交互式shell脚本中创建对话框实例教程
  2. day4 Activity相关
  3. 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)
  4. 7小时44分最佳,睡多睡少都不好,养成习惯也没用
  5. python收取wss数据_Python金融应用之提取交易日+合并截面数据
  6. 聊几个与赚钱相关的小事情
  7. c++循环执行一个函数_20川大计算机 | 时间复杂度,你避不开的一个考点
  8. OpenCL(CUDA5.0) + Visual Studio 2010 环境配置
  9. android keyboard用法,react-native-android-keyboard-adjust 最新使用方法 0.63
  10. 【实习项目记录】(四)Android 实现手机验证时,按钮倒计时60s
  11. 西瓜哥:公有云也“All-Flash”?
  12. 【安卓项目】—— 口算测试APP(教程源自B站)
  13. java ADT的简单介绍
  14. MSDN 离线版 支持VS2015 VS2017 VS2019 (镜像本地安装,非目录替换法)
  15. matlab-FCM模糊聚类
  16. 如何把html网页共享文件夹,如何将文件夹共享 设置共享文件夹教程【详细介绍】...
  17. 奇虎360历届笔试面试题汇总
  18. 【网络与信息安全】 2019年-中国计算机学会推荐国际学术会议和期刊目录(三)
  19. c++镇国之争游戏(带存档,无bug)
  20. 【算法】 二叉树遍历

热门文章

  1. xssgame第九关至第十关
  2. 使用OpenBTS基站测试物联网模块安全性
  3. django+vue+nginx+frp搭建漫画网站之接入谷歌统计和百度统计(三)
  4. 易友八字合婚系统发布(支持同性基友拉拉兼容)1.01发布
  5. 在高分辨率屏幕上用VMware运行ubuntu显示过小的问题
  6. 在vop中重构transform节点(一)
  7. mysql dbms是什么_DBMS体系结构的三种类型分别是什么
  8. 计算机考研最简单的专业,计算机专业有必要考研吗?计算机考研简单的校园都有哪些...
  9. ICC2: secondary pg pin的作用与连接
  10. Apache 开启和关闭 Keep-Alive 解决访问长连接问题