使用FileOutStream写入文件

版权声明:本文为博主原创文章,如需转载请务必添加原文地址! https://blog.csdn.net/qq_35661171/article/details/86539554

FileOutputStream

该类用来创建一个文件并向文件中写数据。

如果该流在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。

有两个构造方法可以用来创建 FileOutputStream 对象。

使用字符串类型的文件名来创建一个输出流对象:

OutputStream f = new FileOutputStream("C:/java/hello")

也可以使用一个文件对象来创建一个输出流来写文件。我们首先得使用File()方法来创建一个文件对象:

File f = new File("C:/java/hello"); OutputStream f = new FileOutputStream(f);

创建OutputStream 对象完成后,就可以使用下面的方法来写入流或者进行其他的流操作。

具体实现代码如下:

package com.zhongjing.file;

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

public class FileOutPutStreamDemo {
    /**
     * FileOutPutStream 字节输出流  --> 写入数据
     * @param args
     */
    public static void main(String[] args) {
        File file = new File("D:/test.txt");
        FileOutputStream fos = null;
        try {

            //大家注意下第二个参数  此构造方法为重载方法 有带一个参数的 如:fos = new FileOutputStream(file)这种, 也有像下面这种带两个参数的, 其实如果不写实际上就是 第二个参数默认为false; 第二个参数表示是否在源文件已有内容的后面进行追加写入新的内容, 即true表示在原有内容的基础上进行追加写入写内容; false表示覆盖擦除原有内容, 写入后只包含新写入内容, 原有内容将会被覆盖不存保留 , 至于这点大家可以自行去验证
            fos = new FileOutputStream(file,true);
            String words = "2019年1月18日新追加内容!";
            byte[] bytes = words.getBytes();
            for(int i =0; i<bytes.length; i++){
                fos.write(bytes[i]);
            }
            System.out.println("追加内容成功");
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            try {
                fos.flush(); //强制刷新输出流
                fos.close(); //强制关闭输出流
            } catch (IOException e) {
                e.printStackTrace();
            } 
        }
    }
}

 我还没执行上面代码前文件内容是这样的

当我执行上述代码后, 文件内容如下: 

 

关于怎样使用FileInputStream读取文件内容请查看下面这篇文章:

https://blog.csdn.net/qq_35661171/article/details/86538982

猜你喜欢

转载自blog.csdn.net/qq_35661171/article/details/86539554