探究java IO之FileOutputStream类

FileOutputStream类创建能够用于向文件中写入字节的OutputStream对象。该类实现了AutoCloseable,Closeable以及Flushable接口,它的4个构造函数如下所示:

FileOutputStream(String filePath)
FileOutputStream(File fileObj)
FileOutputStream(String filePath,boolean append)
FileOutputStream(File fileObj,boolean append)

它们都可能抛出FileNotFoundException异常。其中,filePath是文件的完整路径,fileObj是描述文件的File对象。如果append为true,就以追加方式打开文件(注:为true就是在已有文件内容后面追加内容,如果为false就是覆盖已有文件里的所有内容)。

FileOutputStream对象的创建不依赖于已经存在的文件。当创建对象时,FileOutputStream会在打开文件之前创建文件。当创建FileOutputStream对象时,如果试图打开只读文件,会抛出异常。

下面我们看一个例子:

package o1;

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

public class FileOutputStreamTest {
    public static void main(String[] args) {
        try(OutputStream out = new BufferedOutputStream(
                new FileOutputStream("/home/fuhd/myFile",true))){
            String str = "public static void main(String[] args) {";
            out.write(str.getBytes());
            out.write("\r\n".getBytes());        //回车换行,windows,linux下都可以作为换行
            out.flush();
        }catch (FileNotFoundException e1){
            e1.printStackTrace();
        }catch (IOException e2) {
            e2.printStackTrace();
        }catch(Exception e3){
            e3.printStackTrace();
        }
    }
}


你可能感兴趣的:(java-IO与网络编程)