• IO流:转换流


    OutputStreamWriter

      

    public static void writeCN() throws Exception {

    //创建与文件关联的字节输出流对象

    FileOutputStream fos = new FileOutputStream("c:\cn8.txt");

    //创建可以把字符转成字节的转换流对象,并指定编码

    OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8");

    //调用转换流,把文字写出去,其实是写到转换流的缓冲区中

    osw.write("你好");//写入缓冲区。

    osw.close();

    }

    InputStreamReader类:

    public class InputStreamReaderDemo {

    public static void main(String[] args) throws IOException {

    //演示字节转字符流的转换流

    readCN();

    }

    public static void readCN() throws IOException{

    //创建读取文件的字节流对象

    InputStream in = new FileInputStream("c:\cn8.txt");

    //创建转换流对象

    //InputStreamReader isr = new InputStreamReader(in);这样创建对象,会用本地默认码表读取,将会发生错误解码的错误

            InputStreamReader isr = new InputStreamReader(in,"utf-8");

    //使用转换流去读字节流中的字节

    int ch = 0;

    while((ch = isr.read())!=-1){

    System.out.println((char)ch);

    }

    //关闭流

    isr.close();

    }

    }

    下面是一个转换流复制文件的小案例:

    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    public class Work01 {
     public static void main(String[] args) throws IOException {
      //获取目的地
      FileOutputStream fos=new FileOutputStream("D:\io1227\gbk.txt");
      //获取数据源
      FileInputStream fis=new FileInputStream("D:\IO1227\utf8.txt");
      //转换
      OutputStreamWriter osw=new OutputStreamWriter(fos, "gbk");
      InputStreamReader isr=new InputStreamReader(fis, "gbk");
      int len=0;
      while((len=isr.read())!=-1){
       osw.write(len);
      }
      osw.close();
      isr.close();
     }
    }
  • 相关阅读:
    mysql通过data目录恢复数据库
    CentOS安装TortoiseSVN svn 客户端
    CentOS上安装Node.js
    PHP--进行模块化设计
    PHP开发绝对不能违背的安全铁则
    达内培训:php在线端口扫描器
    使用 PHP 限制下载速度
    使用无限生命期Session的方法
    使用php作linux自动执行脚本
    腾讯星座运势api
  • 原文地址:https://www.cnblogs.com/nbkls/p/12750421.html
Copyright © 2020-2023  润新知