java学习 -- IO(2)-- 字节流文件输出流

3 篇文章 0 订阅
3 篇文章 0 订阅

java学习 -- IO(2)-- 字节流文件输出流

前言

java.io.FileOutputStream extends OutputStream
FileOutputStream:文件字节输出流
作用:把内存中的数据写入到硬盘的文件中


一、FileOutputStream

字节流OutputStream的使用:
定义了一些子类共性的成员方法:
- public void close() 关闭此输出流并释放此流相关联的任何系统资源
- public void flush() 刷新此输出流并强制任何缓冲的输出字节被写出。
- public void write(byte[] b)
- public void write(byte[] b,int off,int len)
- public abstract void write(int b)

java.io.FileOutputStream extends OutputStream
FileOutputStream:文件字节输出流
作用:把内存中的数据写入到硬盘的文件中

构造方法:
FileOutputStream(String name)
FileOutputStream(File file)
参数:写入数据的目的
String name:目的地是一个文件的路径
File file:目的地时一个文件
构造方法的作用:
1.创建一个FileOutputStream对象
2.会根据构造方法中传递的文件/文件路径,创建一个空的文件
3.会把FileOutputStream对象指向创建好的文件
写入数据的原理(内存–>硬盘)
java程序–>JVM(java虚拟机)–>os(操作系统)–>os调用写数据的方法–>把数据写入到文件中

二、使用步骤:

  1. 创建一个FileOutputStream对象,及构造方法中写入数据的目的地
  2. 调用FileOutputStream对象的方法write,把数据写入到文件中
  3. 释放资源close()

示例:

//1.创建一个FileOutputStream对象,及构造方法中写入数据的目的地
FileOutputStream fos=new FileOutputStream("E:\\aaaa.txt");
//2.调用FileOutputStream对象的方法write,把数据写入到文件中
fos.write('a');
//
byte[] bytes={'b','c','d','e'};
fos.write(bytes);

fos.write(bytes,1,2);

// "字符串".getBytes() 将字符串转变为字节。
byte[] bytes1 = "hello_world".getBytes();
fos.write(bytes1);
// 3.释放资源close()
fos.close();

输出结果:在这里插入图片描述

三、字节追加、换行

追加/换行,使用两个参数的构造方法
    FileOutputStream(String name,boolean append)创建一个向具有指定 name 的文件中写入数据的输出文件流
    FileOutputStream(File file,boolean append)创建一个向具有指定 File 对象表示的文件中写入数据的输出文件流
    参数:
        String name,File file :写入数据的目的地
        boolean append :追加写的开关 true:创建对象不会覆盖原文件,继续在原文件末尾追加数据**
    写换行:写换行符号
        Windows: \r\n
        Linux:\n
        mac:\r

代码示例:

FileOutputStream fos=new FileOutputStream("E:\\bb.txt",true);
fos.write("你好".getBytes());
 
for (int i = 0; i < 10; i++) {
     fos.write("\r\n".getBytes());
     fos.write("中国".getBytes());
}
        
fos.close();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值