FileOutputStream类详解

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错误。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr小布懂

谢谢那么帅还对我这么好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值