FileOutputStream概述

一 FileOutputStream概述

文件输出流是用于将数据写入File或FileDescriptor的输出流。 文件是否可用或是否可以创建取决于底层平台。 特别是某些平台允许一次仅打开一个文件以供写入FileOutputStream (或其他文件写入对象)。 在这种情况下,如果涉及的文件已经打开,则此类中的构造函数将失败。

二 FileOutputStream的构造方法

1. public FileOutputStream(String name) throws FileNotFoundException

1)作用

创建文件输出流以写入具有指定名称的文件。 创建一个新的FileDescriptor对象来表示此文件连接。

2)参数

name - 依赖于系统的文件名。

3)异常

FileNotFoundException - 如果文件存在但是是目录而不是常规文件,则不存在但无法创建,或者由于任何其他原因无法打开。
SecurityException - 如果存在安全管理器且其 checkWrite方法拒绝对该文件的写访问权。

2. public FileOutputStream​(String name, boolean append) throws FileNotFoundException

1)作用

创建文件输出流以写入具有指定名称的文件。 如果第二个参数是true ,则字节将写入文件的末尾而不是开头,以追加的方式写入。 创建一个新的FileDescriptor对象来表示此文件连接。

2)参数 
name - 与系统相关的文件名 
append - 如果是 true ,那么字节将被写入文件的末尾而不是开头,以追加的方式写

3)异常

FileNotFoundException - 如果文件存在但是是目录而不是常规文件,则不存在但无法创建,或者由于任何其他原因无法打开。 
SecurityException - 如果存在安全管理器且其 checkWrite方法拒绝对该文件的写访问权。

3. public FileOutputStream(File file)throws FileNotFoundException

1)作用

创建文件输出流以写入由指定的File对象表示的文件。 创建一个新的FileDescriptor对象来表示此文件连接。

2)参数 

file - 要写入的文件。 

3)异常 
FileNotFoundException - 如果文件存在但是是目录而不是常规文件,则不存在但无法创建,或者由于任何其他原因无法打开 
SecurityException - 如果存在安全管理器且其 checkWrite方法拒绝对该文件的写访问权。 

4. public FileOutputStream(File file, boolean append)throws FileNotFoundException

1)作用

创建文件输出流以写入由指定的File对象表示的文件。 如果第二个参数是true ,则字节将写入文件的末尾而不是开头。 创建一个新的FileDescriptor对象来表示此文件连接。 

2)参数 
file - 要写入的文件。 
append - 如果是 true ,那么字节将被写入文件的末尾而不是开头 

3)异常 
FileNotFoundException - 如果文件存在但是是目录而不是常规文件,则不存在但无法创建,或者由于任何其他原因无法打开 
SecurityException - 如果存在安全管理器且其 checkWrite方法拒绝对该文件的写访问权。 

5. public FileOutputStream(FileDescriptor fdObj)

1)作用

创建要写入指定文件描述符的文件输出流,该文件描述符表示与文件系统中实际文件的现有连接。 

2)参数 
fdObj - 要写入的文件描述符 
3)异常 
SecurityException - 如果存在安全管理器且其 checkWrite方法拒绝对文件描述符的写访问权

三 常用方法

1. public void write(int b) throws IOException
1)作用
将指定的字节写入此文件输出流。 实现write的方法OutputStream 。  
2)参数 
b - 要写入的字节。 
3)异常 
IOException - 如果发生I / O错误。

2. public void write(byte[] b) throws IOException

1)作用
将指定字节数组中的 b.length个字节写入此文件输出流。  
2)参数 
b - 数据。 
3)异常 
IOException - 如果发生I / O错误。 

3. public void write(byte[] b, int off, int len) throws IOException

1)作用
将从偏移量为 off的指定字节数组中的 len字节写入此文件输出流。 
2)参数 
b - 数据。 
off - 数据中的起始偏移量。 
len - 要写入的字节数。 
3)异常 
IOException - 如果发生I / O错误。

4. public void close() throws IOException

1)作用
关闭此文件输出流并释放与此流关联的所有系统资源。 此文件输出流可能不再用于写入字节。 
2)异常 
IOException - 如果发生I / O错误。

五 案例

package cn.donglinode.IO;

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

public class FileOutputStreamDemo01 {
    public static void main(String[] args) {
        File file=new File("chapter16/src/tempFile.text");
        FileOutputStream fos=null;
        try {
            fos=new FileOutputStream(file,true);
            String str="热巴是个小仙女!";
            //写出
            fos.write(str.getBytes());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //关闭流,首先判断流是否为空,空的话就不用关了
            try {
                if (fos!=null){
                    fos.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

注意:在IDEA中,当前路径是project的根目录

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章