使用输出流通常包括4个基本步骤:
1.给出输出流的目的地
2.创建指向目的地的输出流
3.让输出流把数据写入到目的地
4.关闭输出流
如果对文件的写入需求比较简单,那么可以使用FileOutputStream类(文件字节输出流),它是OutputStream类的子类(亿字节为单位向文件类写入内容)。该类的实例方法是从OutputStream类继承来的。
可以使用FileOutputStream类的下列能选择是否具有刷新功能的构造方法创建指向文件的输出流。
FileOutputStream(String name,boolean append);
FileOutputStream(File file,boolean append);
当用构造方法创建指向一个文件的输出流时,如果参数的append为true,输出流不会刷新所指向的文件(假如文件已存在),输出流的write方法将从文件的末尾开始向文件写入数据,参数append取值为false,输出流将刷新所指向的文件(假如文件已存在)。
输出流的目的是提供通向目的地的通道,程序可以通过这个通道将这个程序中的数据写入到目的地。文件字节流可以调用从父类继承的write方法顺序写文件。FileOutputStream流顺序的向文件写入内容,即只要不关闭流,每次调用write方法就顺序的向文件写入内容,直到流被关闭。
字节输出流的write方法以字节为单位向目的地写数据。
void write(int n)输出流调用该方法向目的地写入单个字节。
void write(byte b[])输出流调用该方法向目的地写入一个字节数组。
void write(byte b[],int off,int len)给定字节数组中起始于偏移量off处取len个字节写到目的地。
void close()关闭输出流。
示例代码如下:
package 文件;
import java.io.*;
public class EX10_5 {
public static void main(String args[]) {
byte[] a = "新年快乐".getBytes();
byte[] b = "Happy New Year".getBytes();
File file = new File("a.txt");
try {
OutputStream out = new FileOutputStream(file);
System.out.println(file.getName()+"的大小"+file.length()+"字节");
out.write(a);
out.close();
out = new FileOutputStream(file,true);
System.out.println(file.getName()+"的大小"+file.length()+"字节");
out.write(b, 0, b.length);
System.out.println(file.getName()+"的大小"+file.length()+"字节");
out.close();
}
catch(IOException e) {
System.out.println("Error "+e);
}
}
}