zoukankan      html  css  js  c++  java
  • 转换流读写操作 java.io.OutputStreamWriter ,java.io.InputStreamReader

    package seday07;

    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;

    /**
    * @author xingsir
    * 字符流
    * java将流按照读写数据的单位画分为了两类:
    字节流:以字节为单位读写数据,超类:InputStream,OutputStream
    字符流:以字符为单位读写数据,超类:Reader,Writer
    *
    * 字符流底层实际还是按照字节形式读写,但是字符与字节的转换操作字符流自行完成。所以字符流只适合读写文本数据。
    *
    * 转换流
    * java.io.OutputStreamWriter
    * java.io.InputStreamReader
    * 转换流是一对高级流,是可以连接在字节流上的字符流。实际应用中当我们读写文本数据时通常不会直接操作这对流,
    但是他们在流连接中是非常重要的一环。
    */
    public class OSWDemo {

    public static void main(String[] args) throws IOException{
    //先创建一个文件osw.txt

    FileOutputStream fos=new FileOutputStream("osw.txt");//文件流写操作
    /*
    * 如果不指定第二个参数,则是按照系统默认字符集
    * 将写出的文本数据转换为字节,指定后则按照指定 的字符集转换
    */
    OutputStreamWriter osw =new OutputStreamWriter(fos,"gbk");//指定为gbk
    osw.write("大河向东流");
    osw.write("天上的星星参北斗");
    osw.write("说走,咱就走");

    System.out.println("写出完毕");
    osw.close();

    }

    }

    //============================================================================

    package seday07;

    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;

    /**
    * @author xingsir
    * 读取文本数据,InputStreamReader
    */
    public class ISRDemo {

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

    FileInputStream fis =new FileInputStream("osw.txt");//文件流读操作
    //读取文本数据
    InputStreamReader isr =new InputStreamReader(fis);
    //一次读取一个字符
    int len=-1;
    while ((len=isr.read())!=-1) {
    System.out.print((char)len);//转换成char类型

    }
    isr.close();//关闭
    }

    }

  • 相关阅读:
    使用pull解析XML文件
    使用Pull解析器生成XML文件
    Android下文件访问的权限
    Android之SharedPreference存储数据
    Android之外部存储(SD卡)
    Android的内部存储
    Android数据存储的方式
    点击事件的四种写法
    Context
    EclipseADT编写单元测试代码的步骤
  • 原文地址:https://www.cnblogs.com/xingsir/p/12028892.html
Copyright © 2011-2022 走看看