java转换流乱码问题
来源:互联网 发布:屏幕去蓝光软件 编辑:程序博客网 时间:2024/05/21 17:15
public static voidmain(String args[]) {
FileInputStream fis =null;
FileOutputStream fox =null;
OutputStreamWriter osw =null;
InputStreamReader inputStreamReader =null;
try{
fis =newFileInputStream("F:\\a.txt");
/** 前提:当您要write数据时,要先确保read的数据不是乱码的,不然write后的数据怎么该编码格式都会是乱码的,因为它的本质已经是乱码的了
*因为我的IDEA的默认编码是UTF-8
,所以inputStreamReader的编码也是UTF-8;而记事本的编码是ANSI,
*即是系统默认编码GBK,所以要指定GBK的编码格式读取 ,而如果您的编辑器默认的编码格式是GBK,那么不指定编码格式也不会乱码
*/
inputStreamReader =newInputStreamReader(fis,"GBK");
fox =newFileOutputStream("F:\\b.txt");
osw =newOutputStreamWriter(fox,"GBK");
char[] bytes =new char[64]; //因为inputStreamReader读取的是字符数组,而如果读取的是字节数组,才会构建一个字节数组
while((inputStreamReader.read() != -1)) {
intread = inputStreamReader.read(bytes);
osw.write(newString(bytes,0,read)); //将字符数组转成字符串,进而write字符数据
System.out.println(newString(bytes,0,read));
osw.flush();//要刷新,不然输出不了文字
}
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}finally{
try{
inputStreamReader.close();
//资源关闭原则,先开后关(前提这些资源有关联性)
osw.close();
fox.close();
fis.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
- java转换流乱码问题
- java中文乱码问题----java不同场景编码转换过程
- ORACLE 字符集转换:乱码问题
- 读取流信息,转换成字符串并解决乱码问题
- 有关转换流中涉及的【乱码问题】
- (转换流)OutputStreamWriter 和 InputStreamReader 可以解决乱码问题
- java的中文乱码转换
- java io流读文件,乱码问题
- java乱码问题
- java中文乱码问题
- java中文乱码问题
- JAVA中文乱码问题
- Java乱码问题
- java乱码问题
- java 中文乱码问题
- java 中文乱码问题
- java中乱码问题
- Java乱码问题
- 解决Redis Desktop Manager无法连接到redis
- Android图片加载神器之Fresco,基于各种使用场景的讲解
- JavaSE中的方法
- linux设置北京时区
- 【学习笔记】Python基础 常用内建模块
- java转换流乱码问题
- mysql的兩種安裝方法
- 设计模式-原型模式
- mac下安装redis、redis客户端
- 二级列表购物车okhttp(完整版)
- eclipse安装新软件
- 《A Large Dataset to Train Convolutional Networks for Disparity, Optical Flow, and Scene Flow Estimat
- Caffe 源码
- freemarker javascript 后台传值