编程语言
首页 > 编程语言> > JavaSE——IO流

JavaSE——IO流

作者:互联网

JavaSE——IO流

流的分类

按操作数据单位分为:字节流(非文本)和字符流(文本数据)
按数据的流向分为:输入流和输出流
按流的角色分为:节点流和处理流

在这里插入图片描述在这里插入图片描述在这里插入图片描述

流的使用

  1. 字节流的读入操作
public class test{
    public static void main(String[] args)  {
        FileReader fr = null;
        try {
            //1.实例化File类的对象,指明需要操作的文件
            File file = new File("hello.txt");
            //2.提供具体的流
            fr = new FileReader(file);
            //3.数据的读入
            int data;
            while((data=fr.read())!=-1){
                System.out.print((char)data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            //4.流的关闭操作
            try {
            if(fr!=null) fr.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
FileReader fr=null;
try {
    File file = new File("hello.txt");
    fr = new FileReader(file);
    char[] cbuf=new char[5];
    int len;
    while((len=fr.read(cbuf))!=-1){
//                for(int i=0;i<cbuf.length;i++){
//                    System.out.println(cbuf[i]);
//                }//错误写法
//                for(int i=0;i<len;++i){
//                    System.out.print(cbuf[i]);
//                }//正确写法1
        String s = new String(cbuf, 0, len);
        System.out.print(s);
    }
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if(fr!=null) {
        try {
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
}

标签:fr,IO,System,printStackTrace,File,new,JavaSE,cbuf
来源: https://blog.csdn.net/qq_52534495/article/details/120357306