zoukankan      html  css  js  c++  java
  • 用字符流和字节流解决UTF-8编码与GBK编码的转换

     1 import java.io.BufferedReader;
     2 import java.io.BufferedWriter;
     3 import java.io.FileInputStream;
     4 import java.io.FileNotFoundException;
     5 import java.io.FileOutputStream;
     6 import java.io.IOException;
     7 import java.io.InputStreamReader;
     8 import java.io.OutputStreamWriter;
     9 
    10 public class BianMaDemo2 {
    11     public static void main(String[] args) throws IOException, FileNotFoundException {
    12         //将UTF-8编码的文件读出,保存到编码为GBK的文件中,java中默认编码为GBK
    13         //若读出时使用字节流
    14         BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("222.txt"),"UTF-8"));
    15         BufferedWriter wr=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("111.txt"),"GBK"));
    16         //创建缓冲流,底层是字符输入流实现,字符输入流实现字节向字符的转换(字符输入流底层是字节输入流实现)
    17         //对于字符流可以指定其编码格式
    18         
    19         /*
    20          * 法一
    21          * 使用BufferedReader的readLine()方法,一次读一行,不包括最后的换行符
    22          */
    23     
    24         /*String line;
    25         while((line=br.readLine())!=null){
    26             wr.write(line,0,line.length());
    27             wr.newLine();
    28         }*/
    29         
    30         
    31         
    32         /*
    33          * 法二
    34          * 定义字节数组,一次读取一个数组,返回数组长度,写入时要用具体长度
    35          */
    36         /*int len;
    37         char[] chs=new char[1024];
    38         while((len=br.read(chs))!=-1){
    39             wr.write(chs,0,len);
    40         }*/
    41         
    42         
    43         
    44         /*
    45          * 法三
    46          * 定义int类型,一次读取一个字节,
    47          */
    48         int ch;
    49         while((ch=br.read())!=-1){
    50             wr.write(ch);
    51         }
    52 
    53         
    54         br.close();//释放资源
    55         wr.close();
    56     }
    57 
    58 }
  • 相关阅读:
    Java常用类之【日期相关类】
    Java常用类之【Math类、Random类、System类、Runtime类】
    Java常用类之【字符串相关类型】
    Java常用类之【八种基本数据类型】
    打印杨辉三角--for循环
    Eclipse设置文字大小
    Eclipse之JSON导包
    Java中设计模式之工厂模式-4
    PC 微信页面倒计时代码 safari不兼容date的问题
    在apache中设置访问目录后进入的默认页面为index.php
  • 原文地址:https://www.cnblogs.com/abtious/p/12292893.html
Copyright © 2011-2022 走看看