FileOutputStream(文件字节输出流)

java 文章 2022-07-21 18:00 535 0 全屏看文

AI助手支持GPT4.0

FileOutputStream字节输出流

字节输出流,从内存到硬盘

1.构造方法

构造方法 作用
FileOutputStream(File file) 创建文件输出流以写入由指定的 File对象表示的文件
FileOutputStream(File file, boolean append) 创建文件输出流以写入由指定的 File对象表示的文件
FileOutputStream(FileDescriptor fdObj) 创建文件输出流以写入指定的文件描述符,表示与文件系统中实际文件的现有连接
FileOutputStream(String name) 创建文件输出流以指定的名称写入文件
FileOutputStream(String name, boolean append) 创建文件输出流以指定的名称写入文件

2.调用write方法去写

package com.io;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamTest01 {
    public static void main(String[] args) {
        FileOutputStream fos=null;
        try {
            //文件不存在时会创建,再次运行会将文件清空之后再重新写入
            fos = new FileOutputStream("OutTest");
            //开始写
            //定义一个数组
            byte[] bytes={98,99,100,68,69,70};
            //将数组写入到文件中去
            fos.write(bytes);
            //将数组的一部分写入到文件中去
            fos.write(bytes,0,2);
            //写完之后一定要记得刷新
            fos.flush();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fos == null) {
   try {
       fos.close();
   } catch (IOException e) {
       e.printStackTrace();
   }
            }
        }
    }
}

可以看到,当文件不存在的时候会在idea的根下面新建一个文件

可以看到文件被写入成功!

可以看出,当我们再次运行的时候,文件会被清空,那如果我们想添加内容,原文件内容保留下来,怎么进行操作!只需执行追加操作即可,即在文件路径后面用逗号隔开,跟一个true,因为追加操作默认为false

fos = new FileOutputStream("OutTest",true);

我们在往文件里重新添加一个字符串,只需用getbyte方法将字符串转换为数组即可!

String s="我们要趁着年轻做些有意义的事情,而不应该觉得自己年轻,开始挥霍时光";
//我们将字符串转换为数组
byte[] s2=s.getBytes();
fos.write(s2);
fos.flush();

结果如下:

-EOF-

AI助手支持GPT4.0