FileOutputStream继承了OutputStream(字节输出流超类)
了解一个类 父类 、构造 、 然后方法 、还有常见异常
public class FileOutputStream
extends OutputStream
文件输出流是用于将数据写入到输出流File或一个FileDescriptor 。 文件是否可用或可能被创建取决于底层平台。
特别是某些平台允许一次只能打开一个文件来写入一个FileOutputStream (或其他文件写入对象)。
在这种情况下,如果所涉及的文件已经打开,则此类中的构造函数将失败。
构造函数:
FileOutputStream(File file)
创建文件输出流以写入由指定的 File对象表示的文件。
FileOutputStream(File file, boolean append)
创建文件输出流以写入由指定的 File对象表示的文件。
FileOutputStream(FileDescriptor fdObj)
创建文件输出流以写入指定的文件描述符,表示与文件系统中实际文件的现有连接。
FileOutputStream(String name)
创建文件输出流以指定的名称写入文件。
FileOutputStream(String name, boolean append)
创建文件输出流以指定的名称写入文件。
所有方法:
void close()
关闭此文件输出流并释放与此流相关联的任何系统资源。
protected void finalize()
清理与文件的连接,并确保当没有更多的引用此流时,将调用此文件输出流的 close方法。
FileChannel getChannel()
返回与此文件输出流相关联的唯一的FileChannel对象。
FileDescriptor getFD()
返回与此流相关联的文件描述符。
void write(byte[] b)
将 b.length个字节从指定的字节数组写入此文件输出流。
void write(byte[] b, int off, int len)
将 len字节从位于偏移量 off的指定字节数组写入此文件输出流。
void write(int b)
将指定的字节写入此文件输出流。
实例代码:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* FileOutputStream三种写入文件方式:
*/
public class FileOutputStreamDemo01 {
public static void main(String[] args) throws IOException {
//创建文件输入流 指定写入文件:
// FileOutputStream fos=new FileOutputStream(new File("D:\\桌面\\毕业\\基本信息.txt"));
FileOutputStream fos=new FileOutputStream("D:\\桌面\\毕业\\基本信息.txt");
/**
* 方式一:将指定字节写入文件
*/
fos.write(97);
fos.write(98);
fos.write(99);
/**
* 方式二:将指定字节数组写入此文件
*/
byte[] by={'H','E','L','L','O'};
fos.write(by);
/**
* 方式三:指定片段写入
*/
//最后一定记得关闭,释放资源
fos.write(by,1,2);
fos.close();
}
}
常见异常:
异常
FileNotFoundException - 如果文件存在但是是一个目录而不是常规文件,不存在但不能创建,或者由于任何其他原因无法打开
SecurityException - 如果安全管理器存在,并且其 checkWrite方法拒绝对该文件的写入访问。
IOException - 如果发生I / O错误。