IO输入流和输出流

  • Post author:
  • Post category:其他


I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。 在POSIX兼容的系统上,例如

Linux

系统 [1]


,I/O操作可以有多种方式,比如DIO(Direct I/O),AIO(Asynchronous I/O,异步I/O),Memory-Mapped I/O(内存映射I/O)等,不同的I/O方式有不同的实现方式和性能,在不同的应用中可以按情况选择不同的I/O方式。

概述

输入:将文件以数据流的形式读取到Java程序中

输出:通过Java程序将数据流写到文件中

1、 IO是指Input/Output,即输入和输出Input指把数据从外部读到内存(磁盘、网络—>>>内存)

Output指把数据从内存读到外部(内存—>>>磁盘文件、网络)

2、代码是在内存中运行的,数据必须读进内存才能处理。

3、IO流单向顺序读写,它以byte(字节)为最小单位,因此也称字节流

4、在Java中,InputStream代表输入字节流,OuputStream代表输出字节流,这是最基本的两种IO流。

使用


File类


介绍

java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关


File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。


想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。


File对象可以作为参数传递给流的构造器

 FileInputStream fin = null;
        FileOutputStream fout = null;
        try {
            fin = new FileInputStream(new File("E:\\CODE\\review\\javaReview\\data\\01.jpg"));
            fout = new FileOutputStream(new File("E:\\CODE\\review\\javaReview\\data\\02.jpg"));
            byte[] buff = new byte[1024];
            int len;
            while ((len = fin.read(buff)) != -1){
                fout.write(buff,0, len);
                fout.flush();
            }

        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                fin.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                fout.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
}



版权声明:本文为weixin_70647138原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。