FileOutputStream类

FileOutputStream类

         FileOutputStream类是一个与FileInputStream相对应的类,它提供了基本的文件写入能力。除了从OutputStream类继承来的方法(可以参考博文:Java IO之输入输出流中的输出流OutputStream)外,FileOutputStrem类还有两个构造方法:

Ø  FileOutputStream(String name):使用给定的名称name创建一个FileOutputStream对象;

Ø  FileOutputStream(File file):使用File对象创建一个FileOutputStrean对象。

Ø FileOutputStream(String fileName,boolean append):使用给定的名称name创建一个FileOutputStream对象,如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。

Ø FileOutputStream(File file, booleanappend):使用File对象创建一个FileOutputStream对象,如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。


可以使用write方法把字节写入到输出流中到达源文件,write方法的格式如下:

Ø  write(int b):将指定的字节写入此输出流。

Ø  write(byte[] b):将 b.length 个字节从指定的 byte 数组写入此输出流。

Ø  write(byte[] b, int off,int len):将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。

 

FileOutputStream流顺序地写文件,只要不关闭流,每次调用write方法就顺序的向输出流中写入文件,直到流被关闭或出现异常。

实例如下:

要求:通过键盘输入数据,然后通过输入流输入到从C盘根目录下FileOutputStreamDemo.txt文件中

代码如下:

import java.io.File;
import java.io.FileOutputStream;
import java.util.Scanner;
public class FileOutputStreamDemo {
    public staticvoidmain(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要写的内容:");
        String str=sc.nextLine();
        byte[] data=str.getBytes();
        File file;
        try{
            file=new File("C:"+File.separator+"FileOutputStreamDemo.txt");
            FileOutputStream writefile=new FileOutputStream(file);
            writefile.write(data, 0, data.length);
	    writefile.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}


结果如下:

请输入要写的内容:

This is a FileOutputStreanDemo test.

打开C盘中的FileOutputStreamDemo.txt文件,可以看到:

This is a FileOutputStreanDemo test.

你可能感兴趣的:(java)