(50)Java基础 --IO流 --字节流

本文详细介绍了Java中的字节流,包括InputStream和OutputStream的使用,如FileInputStream和FileOutputStream的构造方法和常用方法。讲解了字节流在文件拷贝中的应用以及字节型缓冲流BufferedInputStream和BufferedOutputStream的高效原理,强调了缓冲区大小对性能的影响。
摘要由CSDN通过智能技术生成

目录

一、字节流的概述

二、InputStream

1、常用方法

2、FileInputStream构造方法

3、read() 方法

4、read(byte[] arr)

5、skip(n)

6、注意

三、OutputStream

1、FileOutputStream构造方法

2、常用方法

四、使用字节流完成文件的拷贝

五、字节型缓冲流


一、字节流的概述

  1. 可以直接操作字节信息的流对象
  2. 根据流向,可以分成字节输入流和字节输出流
  3. 顶层抽象父类分别是:InputStream OutputStream
  4. 根据交互设备的不同,有不同的具体子类

二、InputStream

字节输入流的顶层抽象父类。

1、常用方法

read():从当前的字节输入流中,获取一个字节

read(byte[] arr):将arr.length个字节,读取到arr中

InputStream是一个抽象类,不能直接创建对象,只能由子类创建对象,最常用子类  FileInputStream,用于和磁盘上的文件进行交互。

2、FileInputStream构造方法

FileInputStream(File f):将File对象封装成字节输入流,将来可以读取这个文件中的信息

FileInputStream(String path):将字符串封装成字节输入流,将来可以读取信息 

示例

InputStream is = new FileInputStream("F:/aaa.txt");

File file = new File("F:/aaa.txt");
InputStream is = new FileInputStream(file);

3、read() 方法

一次读到一个字节。输出这个数据到控制台上发现,显示的是数字而不是字母。为什么?因为显示的是字母对应的码值,如果需要转成字符,可以强转成char类型。

当read()的值为 -1 时,表示读到文件的末尾

InputStream is = new FileInputStream("F:/aaa.txt");
			
// 使用字节流逐个读取
int a = is.read(); // 一次读一个字节
System.out.println((char)a);
int b = is.read();
System.out.println(b);
int c = is.read();
System.out.println(c);
int d = is.read();
System.out.println(d);
int e = is.read();
System.out.println(e);
int f = is.read();
System.out.println(f);
int g = is.read();
System.out.println(g);  // -1表示文件读完

使用循环读取

int x = 0;
while((x =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值