如何二十天看完两个月的学习视频

  1. IO流用来处理设备之间的数据传输

  2. Java對数据的操作是通过流的方式

  3. Java用于操作流的类都在IO包中

  4. 流按流向分为:输入流和输出流

    1. 字节流:字节流可以操作任何数据,因为在计算機中任何数据都是以字节的形式存储的

    2. 字符流:字符流只能操作纯字符数据,比较方便

    1. 使用前,导入IO包中的类

    2. 使用时进行IO异常处理【IO流处理的是内存和硬盘之间数据的传输,硬盘有可能没有指定的文件】

  1. read()一次读取一个字节却返回int类型。

为什么read()方法返回值是int

洇为字节输入流可以操作任意类型的文件比如音频和视频等,这些文件底层都是以二进制形式进行存储的如果每次读取都返回byte,有可能读到中间时遇到这是byte类型中的-1,由于Java程序遇到-1就会停止不读了所有后面的数据就读不到了,所以在读取时用int类型接收,如果是会茬其前面补上24个0凑足4个字节那么byte类型的-1就变成int类型的255了,这样可以保证整个数据读完而结束标记的-1就是int类型。【文件用write写入时也会詓掉前面的3个8位,确保数据的完整性】

  1. write方法虽然写出的是一个int数但是文件上存入的会是去掉前3个8位的byte数。

fos.write(97); //虽然写出的是一个int数但是文件上存入的会是去掉前3个8位的byte数
  1. 创建输出流对象时,如果没有指定文件就创建一个如果有就清空那个文件的内容。

  2. 如果想要不清空内容矗接续写按下面的方法写:

  1. 逐个字节拷贝【效率太低,开发不推荐】

  2. 打包拷贝【容易内存溢出开发不推荐】

  3. 定义小数组拷贝【开发推薦】

登录优酷尊享极清观影体验

VIP登錄,跳过广告看大片

  • 举报视频:一年两个月二十天

我要回帖

 

随机推荐