Java IO 输入输出流

IO 是计算机的输入\输出 Input\Output 机制。

Java IO 流

Java程序中,对于数据的输入\输出操作都是以 的方式进行的。java.io 包下提供了各种 IO 接口与实现,用以获取不同种类的数据,并通过标准的方法输入或输出数据。

流的分类

分类 字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer
  1. 按照流向分,可以分为
  • 输入流:读取数据
  • 输出流:写数据
  1. 按照操作单元分,可以分为
  • 字节流:将数据解释为原始的二进制数据,读写均为字节数据,操作过程不需要编码解码
  • 字符流:字符流将原始数据解析成一种字符,文本数据存储依赖文件编码方式,它输入输出需要编码解码

层次结构

Java 提供的 IO 操作类非常丰富,虽然这些他们看着很多,但是使用方法却有一定的规律。

流的操作API

文件字节输入流

  • 1.创建流对象
  • 2.创建一个缓存字节的容器数组
  • 3.定义一个变量,保存实际读取的字节数
  • 4.循环读取数据
  • 5.操作保存数据的数组
  • 6.关闭流
public static void main(String[] args) throws IOException{
    File file =new File("1.txt");
    FileInputStream fis=new FileInputStream(file);
    byte[] bt=new byte[1024];
    int count;
    while((count=fis.read(bt))!=-1) {
        String string =new String(bt,0,count);
        System.out.println(string);
    }
    fis.close();
}

文件字节输出流

  • 1.选择流:创建流对象
  • 2.准备数据源,把数据源转换成字节数组类型
  • 3.通过流向文件当中写入数据
  • 4.刷新流
  • 5.关闭流
public class FileOutputStreamDemo01 {
    public static void main(String[] args) {
//      1.选择流:创建流对象
        FileOutputStream fos =null;
        try {
            fos = new FileOutputStream(new File("c:\\content.txt"),true);
//          2.准备数据源,把数据源转换成字节数组类型
            String msg = "春夜喜雨\n好雨知时节,当春乃发生。\n随风潜入夜,润物细无声。";
            byte[] data = msg.getBytes();
//          3.通过流向文件当中写入数据
            fos.write(data, 0, data.length);
//          4.刷新流
            fos.flush();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (fos!=null) {
//              5.关闭流
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
转载请注明出处:码谱记录 » Java IO 输入输出流
标签: