• 技术文章 >java >java基础

    转换流在java中的两种类

    小妮浅浅小妮浅浅2021-02-21 09:31:19原创2187

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    1.InputStreamReader类

    1)概念

    转换流 java.io.InputStreamReader ,是Reader的子类,,读取字节并使用指定的字符集将其解码为字符。它的字符集可以自定义,也可以用平台的默认字符集。

    2)构造方法

    InputStreamReader(InputStream in): 创建一个使用默认字符集的字符流。
    InputStreamReader(InputStream in, String charsetName): 创建一个指定字符集的字符流。

    3)实例

    public class Demo02 {
        public static void main(String[] args) throws IOException {
            //明确数据源
            FileInputStream fis=new FileInputStream("D:\\java\\a.txt");
            //创建转换流对象
            InputStreamReader isr=new InputStreamReader(fis,"UTF-8");
            int len=0;
            char[] ch=new char[1024];
            //开始读
            while((len=isr.read(ch))!=-1){
                System.out.println(new String(ch,0,len));//若是不写0和len就转为1024个字节,后面的为空格代替
            }
            //释放资源
            isr.close();
        }
    }

    2.ObjectOutputStream类

    1)概念

    java.io.ObjectOutputStream 类,将Java对象的原始数据类型写出到文件,实现对象的持久存储。

    2)构造方法

    OutputStreamWriter(OutputStream in): 创建一个使用默认字符集的字符流。
    OutputStreamWriter(OutputStream in, String charsetName): 创建一个指定字符集的字符流。

    3)实例

    public class Demo01 {
        public static void main(String[] args) throws IOException {
            //明确目的地
            FileOutputStream fos=new FileOutputStream("D:\\java\\a.txt");
            //创建转换流对象   默认GBK
            OutputStreamWriter osw=new OutputStreamWriter(fos,"UTF-8");
            //写入字符
            osw.write("你好");
            osw.flush();
            //释放资源(功能流需要关,这里的fos被osw调用的,不需要咱关闭,由osw负责关闭---谁调用,谁负责关闭)
            osw.close();
    }

    以上就是转换流在java中两种类的使用,学会后我们可以把字符流和字节流进行相互的转换,同时不会被编码问题所困扰,学会后就代码部分练习一下吧。

    专题推荐:java,转换流
    上一篇:java中的轮换流是什么 下一篇:java打印流的输出使用

    相关文章推荐

    • java IO流序列化的概念• IO流序列化在java中的作用及不足• java缓冲流的两种类型• java中的轮换流是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网