Java File类和I\O

文件

输入输出

read 方法

    public class RandomAccessDemo6 {
            public static void main(String[] args) throws IOException {
                RandomAccessFile src = new RandomAccessFile("src.AVI", "r");
                RandomAccessFile des = new RandomAccessFile("copy.AVI", "rw");
                byte[] buf = new byte [1024*10];
                int len = -1;
                while ((len = src.read(buf))!=-1){
                                des.write(buf, 0, len);
                }
                src.close();
                des.close();
            }
    }

read(byte[] b)方法的作用是从**输入流(这里应该是src)**中读取一定数量的字节,并将其存储在缓冲区数组 b 中。以整数形式返回实际读取的字节数。当读取到结尾的时候,没有字节,read()的返回值为-1。因此,当len==-1的时候结束循环。

二级目录

IO流

Input/Output
就是数据的出与入
首先根据方向来说

  • 输入流:只能从中读取数据,而不能向其写入数据。
  • 输出流:只能向其写入数据,而不能从中读取数据。
    需要注意的是这里的出\入是以内存的角度描述。在这里插入图片描述

字节与字符

其实所有数据本质都是字节Byte,但其中的特例txt文档可以直接查看内容的,就是字符

而处理这些的类class 就有

字节字符
输入InputStreamReader
输出OutputStreamWriter

节点流 和 处理流

  • 节点流:可以向特定IO设备(磁盘、网络)读写数据,直接和文件本身链接
  • 处理流:对节点流封装

流的概念模型

等待输出的一个txt就是一个输入流
已经输出过的txt就是一个输出流在这里插入图片描述
在这里插入图片描述

InputStream和Reader

  • int read():从输入流中读取单个字节(相当于从图15.5所示的水管中取出一滴水),返回所读取的字节数据(字节数据可直接转换为int类型)。
  • int read(byte[ ] b):从输入流中最多读取 b.length 个字节的数据,并将其存储在字节数组b中,返回实际读取的字节数。
  • int read(byte[] b, int off, int len):从输入流中最多读取len个字节的数据,并将其存储在数组b 中,放入数组b中时,并不是从数组起点开始,而是从off位置开始,返回实际读取的字节数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值