栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

IO流的相关知识点

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

IO流的相关知识点

I:

input 输入流,从硬盘上面读取数据到内存里面,这叫输入

适用于磁盘上有一个1.TXT的文件,可以将1.TXT文件内容读取到Java代码中

O:

Output 输出流,从内存中写入到硬盘上面,这叫输出

适用于Java代码有一个String类型的数据,可以将整个数据存入到TXT文件中

输入流

分为 字节输入流 和 字符输入流

输出流

分为字节输出流 和 字符输出流

字节输出流

InputStram 直接的子类FileInputStream

FileInputStream不具备缓冲的效果,需借助BufferedInputStream 实现

//字节输入流

File file = new File("c:/aaa/1.txt");

FileInputStream fis = new FileInputStream(file);

BufferedInputStream bis = new BufferedInputStream(fis);

byte[] buf = new byte[4*1024];//每次缓冲4096个字节

while ((length = bis.read(buf)) != -1) {
            System.out.println(length);

System.out.println(new String(buf, 0, length));
        }

    //关闭流
        bis.close();
        fis.close();
    }
}

一个小案例进一步了解   复制视频

public static void copeVideo () throws IOException {

磁盘上面某一个文件夹中先有视频-》写到内存中-》在磁盘的另外文件夹下面写入
                //先使用z字节输入流写到内存中,再使用字节输出流写入磁盘

long start = System.currentTimeMillis();//代码走到这个地方会有一个时间标记
                //1.创建对应的缓冲字节输入流和缓冲字节输出流对象
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(new File("C:\Users\wangbo\Desktop\zz2115\day21\video\2字节输入流的入门案例.mp4")));
                //从内存中写入到一个文件中
                BufferedOutputStream bos =  new BufferedOutputStream(new FileOutputStream(new File("c:/aaa/1.mp4")));
                //2.准备一个字节数组缓冲区数组
                byte[] buf = new byte[1024 * 4];
                int length = -1;
                //bis.read(buf))  是从磁盘里面写入到内存
                while ((length = bis.read(buf))!= -1) {

bos.write(buf, 0, length);
                }
                //关闭流
                bos.close();
                bis.close();
                
                long end = System.currentTimeMillis();//代码走到这个地方又有一个时间标记

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/727655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号