java中的字节流总结

来源:互联网 发布:盘古网络唐山icp备 编辑:程序博客网 时间:2024/05/01 11:38
  • 对一个文件的内容操作,需要用的IO流

    1. IO流的分类:
      3. 流向
      3. 输入流 读取数据
      4.输出流 写入数据
      数据类型:字节输入流 读取数据InputStream
      字节输出流 输出数据OutputStream
      字符输出流: Writer 写出数据
      字符输入流: Reader 读取数据
  • 使用字节输出流,向文本里面输入一话
    可知使用OutputStream是一个抽行类,不能够实例化,所以使用它的子类FileOutputStream
    FileOutputStream的构造方法
    FileOutputStream(File file);
    FileOutputStream(String name);
    步骤:
    创建字节流输出对象
    FileOutputStream fos = new FileOutputStream("a.txt");
    创建字节输出流对象做了几件事情·?
    1.调用系统功能去创建文件
    2.创建fos对象
    3.将fos对象指向这个文件

        *写数据*        `fos.write("hello".getBytes());`    *释放资源*        `fos.close`;//作用是,让流对象变成垃圾,这样就可以被垃圾回收器回收。通知系统去释放和文件系统相关的资源
  • 字节输出流的创建
    创建字节输出流对象
    调用write()方法

             public void write(int b): 写一个字节             public void write(byte[] b);写一个字节数组
  • 数据的追加:构造方法的第二个参数是true
  • 字节输入流的操作步骤:

    创建字节输入流对象
    调用read()方法读取数据,把数据显示在控制台。
    释放资源
    读取数据的方式
    一次读取一个字节 int read();
    一次读取一个字节数组 int read(byte[] b);返回值是读取的字节数,当读到文件结束时候,返回-1

  • 计算机识别中文:中文的存储是两个字节,第一个字节是负数,第二个字节随意。

高效类

  • 分类

    写数据 BufferedOutputStream
    读数据 BufferedInputStream
    传递的是一个输入/输出流的对象,不是具体的文件。

  • 字节流的四种复制文件的方式
    基本字节流一次读写一个字节

        public static void method1(String srcString, String destString) throws IOException        {            FileInputStream fis = new FileInputStream(srcString);            FileOutputStream fos = new FileOutputStream(destString);            int byte = 0;            while((byte = (fis.read())) != -1){                fos.write(byte);            }        }

    基本字节流一次读取一个字节数组

    public static void method2(String srcString, String destString) throws IOException{                FileInputStream fis = new FileInputStream(srcString);                FIleOutputStream fos = new FileOutputStream(destString);                byte[] bys = new byte[1024];                int length = 0;                while((length = fin.read(bys)) != -1){                    fos.write(bys, 0, length);                }            }

高效字节流一次读取一个字节

public static void method3(String srcString, String destString)            throws IOException {        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(                srcString));        BufferedOutputStream bos = new BufferedOutputStream(                new FileOutputStream(destString));        int by = 0;        while ((by = bis.read()) != -1) {            bos.write(by);        }        bos.close();        bis.close();    }

* 高效字节流一次读取一个字节数组*

 public static void method2(String srcString, String destString)            throws IOException {        FileInputStream fis = new FileInputStream(srcString);        FileOutputStream fos = new FileOutputStream(destString);        byte[] bys = new byte[1024];        int len = 0;        while ((len = fis.read(bys)) != -1) {            fos.write(bys, 0, len);        }        fos.close();        fis.close();    }
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 文明5大包锁区怎么办 鸭子被黄鼠狼叼走了怎么办 黄鼠狼再店了拉屎怎么办 我只有信用卡但是又想去嫖怎么办 瑞士退税单掉了怎么办 装了新风噪音大怎么办 意大利 护照被偷了怎么办 请问去意大利要怎么办护照 在意大利护照丢了怎么办 考研二战档案打回原籍怎么办 脸上的肉往下掉怎么办 眼镜带了往下掉怎么办 孩子捅别的孩子眼睛了怎么办 眼睛不小心捅伤怎么办 我的爸爸是小偷怎么办 违停罚款忘记交怎么办 顺风车无人接单怎么办 来例假腰特别疼怎么办 把人撞死了全责怎么办 朝鲜与美合作对付中国怎么办 申请美国大学gpa不够怎么办 武装突袭3有地雷怎么办 辐射4狗肉跟丢了怎么办 洛奇英雄传死绑S怎么办 在老挝遇到坏人带枪怎么办 买了sd卡卡槽塞不下怎么办 现役军人家庭被邻居欺服怎么办 地铁买票买多了怎么办 免税店买的东西转机怎么办 绿能电动车坏了怎么办? 永久单车收不到验证码怎么办 24速山地车档乱了怎么办 新电瓶车被偷了怎么办 汽车前风挡玻璃砸出洞怎么办 凯迪拉克xt5钥匙掉了怎么办 凯迪拉克xt5媒体不好用怎么办 晒黄的白鞋怎么办 白鞋子被晒黄了怎么办? 耐克空军一号白色发黄怎么办 空军一号破皮了怎么办 匡威鞋帆布破了怎么办