文档章节

java IO流 之 字节流与字符流

o
 osc_ogi0qclx
发布于 2019/08/27 12:55
字数 446
阅读 27
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

其实学习了file文件基础类,后面的字节流和字符流都特别简单了,首先需要知道字节流和字符流的区别

字节流:

  用来传送图片、各种文件、大文件、文本都是通过字节流进行传输的。

字符流: 

  只能读取文本信息

字节流操作接口类

  1、InputStream  字节输入流

  2、outputStream 字节输出流

  3、FileinputStream 实例化字节输入流

  4、FileoutputStream 实例化字节输出流

  5、BufferedInputStream 加强版输入流,用于大文件传输时输入缓存

  6、BufferedOutputStream 加强版输出流,用于大文件传输时输出缓存

/**
     * 文件copy 加强版(用的最多的) 几个G的文件也就10几秒
     * 
     * @param file 传入文件的路径
     * @return
     */
    public static boolean Read(File file) {

        // File file = new File("D:\\1.txt");

        if (file == null || file.isFile()) {
            System.err.println("文件不能为空");
            return false;
        }

        BufferedOutputStream bos = null;
        BufferedInputStream bis = null;
        try {
            bis = new BufferedInputStream(new FileInputStream(file)); // 获取文件流
            bos = new BufferedOutputStream(
                    new FileOutputStream("D:\\video\\AdminVideo\\PrivateVideo\\" + file.getName())); // 转存为...

            int len = 0;
            byte[] b = new byte[1024000];
            while (-1 < (len = bis.read(b))) {
                bos.write(b, 0, len);
            }
            bos.flush();
            System.err.println("D:\\video\\AdminVideo\\PrivateVideo\\" + file.getName());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                bos.close();
                bis.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return false;
    }

    /**
     * 字符流  循环读取文本
     * @throws IOException
     */
    public static void file2() throws IOException {
        // 定义文件路径
        File f = new File("d:" + File.pathSeparator + "test.txt");
        //  定义字符输出流
        Reader reader = new FileReader(f);
        int len = 0;
        char[] c = new char[1024];
        int temp = 0;
        // 通过循环方式读取文件中的字符
        while ((temp = reader.read()) != -1) {
            c[len] = (char) temp;
            len++;
        }
        // 关闭字符流,不然会报错
        reader.close();
        System.out.println("内容为:" + new String(c, 0, len));
    }

实例非常简单,希望对你的学习有所帮助。又不懂得可以在评论区留言,我会尽快给您回复的

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华
2013/11/24
2W
22
浅入浅出Android(003):使用TextView类构造文本控件

基础: TextView是无法供编辑的。 当我们新建一个项目MyTextView时候,默认的布局(/res/layout/activity_main.xml)中已经有了一个TextView: <TextView 运行效果如下: 修改其文本内容...

樂天
2014/03/22
593
1
CDH5: 使用parcels配置lzo

一、Parcel 部署步骤 1 下载: 首先需要下载 Parcel。下载完成后,Parcel 将驻留在 Cloudera Manager 主机的本地目录中。 2 分配: Parcel 下载后,将分配到群集中的所有主机上并解压缩。 3 激...

cloud-coder
2014/07/01
6.8K
1
程序猿媛一:Android滑动翻页+区域点击事件

滑动翻页+区域点击事件 ViewPager+GrideView 声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。文尾附注源码获取途径。 转载请保留原文出处“http://my.oschina.net/gluoyer...

花佟林雨月
2013/11/09
4.1K
1
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
6

没有更多内容

加载失败,请刷新页面

加载更多

如何在SQL Server中将多行文本合并为单个文本字符串?

问题: Consider a database table holding names, with three rows: 考虑一个包含名称的数据库表,该表具有三行: PeterPaulMary Is there an easy way to turn this into a single str......

富含淀粉
29分钟前
9
0
在JavaScript中生成特定范围内的随机整数? - Generating random whole numbers in JavaScript in a specific range?

问题: 如何可以生成两个指定的变量之间的随机整数在JavaScript中,例如x = 4和y = 8将输出任何的4, 5, 6, 7, 8 ? 解决方案: 参考一: https://stackoom.com/question/6PRz/在JavaScript中...

fyin1314
59分钟前
8
0
Vim清除最后一个搜索突出显示 - Vim clear last search highlighting

问题: Want to improve this post? 想要改善这篇文章吗? Provide detailed answers to this question, including citations and an explanation of why your answer is correct. 提供此问题......

技术盛宴
今天
23
0
马化腾每天刷 Leetcode?代码你打算写到几岁?

本文作者:o****0 前几天,一张未证真伪的截图流传,图中显示马化腾几乎每天都会在 Leetcode 上提交代码。 截图还贴出一个 Leetcode 账户地址。该地址的头像已从马化腾的照片换成腾讯 logo,...

百度开发者中心
前天
13
0
滴滴 3000+ Kylin Cube 背后的实践经验揭秘

本次分享主要有三个部分:Kylin 在滴滴的整体应用、架构的实践经验、滴滴全局字典最新版本的实现以及 Kylin 最新实时 OLAP 探索经验分享。 Kylin 在滴滴的应用&架构 Kylin 在滴滴的三类应用场...

浪尖聊大数据
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部