字节输入\输出流

文件字节输入流

java.io.FileInputStream
将硬盘中的数据读取到内存中使用,以字节的方式读取

abstract int read() 从输入流中读取数据的下一个字节。

int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。
int read(byte[] b, int off, int len) 将输入流中最多 len 个数据字节读入 byte 数组。
void close() 关闭此输入流并释放与该流关联的所有系统资源。

构造方法
FileInputStream(File file) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream(String name) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
参数
name 文件的路径
file File对象
作用
构造一个FileInputStream对象 用于读取硬盘中的文件
步骤
1.构造一个FileInputSteam对象
2.用read方法
3.释放输出流

read() 方法会在调用后自动指向下一位,读取到-1(默认文件的结尾为-1)表示文件的结束
/*
例1用read()读取单个字节
*/
File file = new File("C:\\Users\\Administrator\\Desktop\\java学习\\新建文本文档.txt");
//定义一个长整型储存文件的长度
long i = file.length();
 FileInputStream fis = new FileInputStream(file);
  int len=0;
  //每当读取循环条件的时候会自动指向下一个字节
 while( (len=fis.read())!= -1) {
 //read(),返回值是数字用String的(char)方法可以强转为字符
      System.out.println((char) fis.read());
  }
  fis.close();

/*
例2 用read()读取字节数组(相较读取单个字节效率更高)
*/
File file = new File("C:\\Users\\Administrator\\Desktop\\java学习\\新建文本文档.txt");
long i = file.length();
 FileInputStream fis = new FileInputStream(file);
  int len=0;
//定义字节数组作为缓冲区
byte b=new byte[1024];//[]中为缓冲区可存放的字节个数1024个字节=1kb(视文件大小而定)
 while( (len=fis.read(b))!= -1) {
      System.out.println(new String(b));
  }
  fis.close();

文件字节输出流

java.io
类 FileOutputStream
将内存中的数据写到硬盘中储存

abstract int read() 从输入流中读取数据的下一个字节。
int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。
int read(byte[] b, int off, int len) 将输入流中最多 len 个数据字节读入 byte 数组。
void close() 关闭此输入流并释放与该流关联的所有系统资源。

FileInputStream文件输入流
作用将硬盘中的文件读到内存中使用

构造方法
FileInputStream(File file) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream(String name) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
参数
name 文件的路径
file 文件
作用
构造一个FileInputStreamd对象 用于读取硬盘中的文件

步骤
1.构造一个FileInputSteam对象
2.用read方法
3.释放输出流

代码与文件输入流相似

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值