• JavaIO流之字节流


    什么是字节?

    所谓字节(Byte),是计算机数据存储的一种计量单位。一个二进制位称为比特(bit),8个比特组成一个字节,也就是说一个字节可以用于区分256个整数(0~255)。由此我们可以知道,字节本是面向计算机数据存储及传输的基本单位,后续的字符也就是以字节为单位存储的,不同编码的字符占用的字节数不同。

    那么在Java中,除了存储的意义外,Java还将字节Byte作为一种基本数据类型,该数据类型在内存中占用一个字节,用于(-128~127)范围内的整数

    byte a = -128;
    byte b = 127;
    总的来说,字节在Java中有两种含义:

    存储的单位
    Java的数据类型,用于表示-128~127范围的整数

    什么是字符?

    计算机底层存储的是字节,字符的设计则是用于展示符号。屏幕上显示的各种文字,数字,符号等就是解码的字符。所以我们说字符是用来显示的符号,它将存储的字节转换成人们看得懂的符号,因此字符的核心就是定义字节与展示符号之间的关系,这种映射关系通常也叫做编码。

    字节流的使用:

    注意:InPut输入是硬盘向内存输入,OutPut输出是内存向硬盘输出,我们站在内存的角度。


    字节流读入的read方法:

    一次读取一个字节:

    从aniki.txt中读字符,当已经没有字符可以读取的时候返回-1



    我们利用返回-1可以写出循环来遍历整个字节文件

    一次读取一个字节数组:




    aniki.txt的内容其实是的是:
    abcde/r/nfghj/r/nklmn
    所以输出的是:
    abcde
    /r/nfgh
    写循环来遍历整个文件:

    字节流写入的write方法:

    字节流写数据例:

    追加写入例:

    使用read和write方法来复制文件:


    异常处理代码:

    字节缓冲流:

    我们的字节流是把内存中的字节/字节数组(外部输入的或者是程序内的)立即输出到硬盘,
    而字节缓冲流的作用是在字节流把字节从内存输出到硬盘之前,提供一个缓冲区,让这些字节先进入缓冲区存储,
    当缓冲区满或者在未满的情况下使用"字节缓冲输出流对象".flush();方法,强制输出和清空缓冲区。

    缓冲区不满的情况下调用"字节缓冲输出流对象".flush();才可以写进到硬盘文件。
    否则数据存储在缓冲区,文件内没有数据。但是close()方法会调用一次flush()方法。


    字节缓冲流使用read和write方法实现复制文件:


  • 相关阅读:
    获取元素js点击tab,input获取当前文本,
    弹框,点击显示和隐藏
    rem单位,10px等于0.1rem,移动端背景自适应
    移动端轮播图效果,插件
    点击显示或隐藏,添加类名或删除类名
    南瓜小园
    焦点图带箭头-插件-26
    返回顶部,右侧浮窗-25
    点击左右箭头轮播-24
    倒计时拉幕广告,对联广告效果-23
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/11900936.html
Copyright © 2020-2023  润新知