Java IO(五):FileOutputStream

来源:互联网 发布:刘宇的喜欢lofter乐乎 编辑:程序博客网 时间:2024/05/24 06:21

FileOutPutStream 可以往文件里写入字节流,它是 OutputStream 子类,所以你可以像使用 OutputStream 那样使用 FileOutputStream。

OutputStream output = nwe FileOutputStream("c:\\text.txt");while(hasMoreData()){    int data = getMoredata();    output.write(data);}output.close();

FileOutputStream 的 write() 方法取一个包含了带写入字节的 int 变量作为参数进行写入。
FileOutputStream 也有其他的构造函数,允许你通过不同的方式写文件。

文件内容的覆盖 Override VS 追加Appending

当你创建了一个指向已存在文件的 FileOutputStream,你可以选择覆盖整个文件,或者在文件末尾追加内容。通过使用不同的构造函数可以闪现不同的目的。

其中一个构造函数取文件名作为参数,会覆盖任何此文件名指向的文件。

OutputStream out = new FileOutputStream("c:\\data\\text.txt");

另外一个构造函数取 2 个参数:文件名和一个布尔值,布尔值表示你是否需要覆盖文件。

OutputStream output = new FileOutputStream("c:\\data\\text.txt", true) //在文件末尾追加数据OutputStream output = new FileOutputStream("c:\\dadta\\text.txt", false) // 覆盖该文件

写入字节数组

既然 FileOutputStream 是 OutputStream 的子类,所以你可以往 FileOutputStream 中写入字节数组,而不需要每次只写入一个字节。

flush()

当你往 FileOutputStream 里写数据的时候,这些数据有可能会缓存在内存中。在之后的某个时间,比如,每次都只有 X 份数据可写,或者 FileOutputStream 关闭的时候,才会真正的写入磁盘。当 FileOutputStream 没被关闭,而你又想确保写入到 FileOutputStream 中的数据写入到磁盘,可以调用 flush() 方法,该方法可以确保所有写入到 FileOutputStream 的数据全部写入到磁盘。

0 0
原创粉丝点击