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 }
  • 相关阅读:
    AI---训练集(train set) 验证集(validation set) 测试集(test set)
    Kubernetes核心概念总结
    GoLang structTag说明
    GOROOT、GOPATH和project目录说明
    在iOS上实现二维码功能
    Page View Controllers
    ios 视图切换翻页效果
    iOS中scrollview自动滚动的实现
    关于Block的copy和循环引用的问题
    Info.plist与Prefix.pch修改文件位置遇到的问题及解决方法
  • 原文地址:https://www.cnblogs.com/abtious/p/12292893.html
Copyright © 2011-2022 走看看