java IO流之FileOutputStream 字节输出流 方法 复制图片类字节流文件实例

java IO流之字节输出流 FileOutputStream

  • 文件输出流是用于将数据写入 FileFileDescriptor 的输出流。文件是否可用或能否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。

  • FileOutputStream 用于写入诸如图像数据之类的原始字节的流。要写入字符流,请考虑使用 FileWriter

  • 在UTF-8格式文件中,英文字符 底层实际占用1个字节,中文字符 底层实际占用3个字节。

构造器

构造器 描述
FileOutputStream(File file) 创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(File file, boolean append) 创建一个向指定 File 对象表示的文件中写入数据的文件输出流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。
FileOutputStream(FileDescriptor fdObj) 创建一个向指定文件描述符处写入数据的输出文件流,该文件描述符表示一个到文件系统中的某个实际文件的现有连接。
FileOutputStream(String name) 创建一个向具有指定名称的文件中写入数据的输出文件流。
FileOutputStream(String name, boolean append) 创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。

方法

Modifier and Type Method Description
void close() 关闭此文件输出流并释放与此流有关的所有系统资源。
protected void finalize() 清理到文件的连接,并确保在不再引用此文件输出流时调用此流的 close 方法。
FileChannel getChannel() 返回与此文件输出流有关的唯一 FileChannel 对象。
FileDescriptor getFD() 返回与此流有关的文件描述符。
void write(byte[] b) 将 b.length 个字节从指定 byte 数组写入此文件输出流中。
void write(byte[] b, int off, int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。
void write(int b) 将指定字节写入此文件输出流。

从类 java.io.OutputStream 继承的方法

  • flush:刷新此输出流并强制写出所有缓冲的输出字节。
    • flush 的常规协定是:如果此输出流的实现已经缓冲了以前写入的任何字节,则调用此方法指示应将这些字节立即写入它们预期的目标。

从类 java.lang.Object 继承的方法 clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

分布实现

复制图像数据之类的原始字节的流

在这里插入图片描述

  1. 创建源文件与目标文件对象

    //1.1有一个源图片文件
    File f1 = new File("IOStream/src/testfile/p1.png");
    //1.2有一个目标图片文件:
    File f2 = new File("IOStream/src/testfile/p2.png");
    
  2. 创建字节流对象

    //2.1有一个输入的管道 怼 到 源文件:
    FileInputStream fis = new FileInputStream(f1);
    //2.2有一个输出的管道 怼到  目标文件上:
    FileOutputStream fos = new FileOutputStream(f2)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SK Primin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值