FileInputStream类与FileOutputStream类

FileInputStream类是InputStream类的子类。他实现了文件的读取,是文件字节输入流。该类适用于比较简单的文件读取,其所有方法都是从InputStream类继承并重写的。创建文件字节输入流常用的构造方法有两种。

(1)FIleInputSrtream(String filePath);

该构造方法根据指定的文件名称和路径,创建FileInputStream类的实例对象。

语法:

new FileInputStream(filePath);

filePath:文件的绝对或相对路径。

(2)FileInputStream(File file);

该构造方法使用Flie类型的文件对象创建FileInputStream类的实例对象。

语法:

new FileInputStream(file);

file:File文件类型的实例对象。

例:在C盘存在“Example2.txt”文件,此文件的内容为“This is my book!”。创建一个File类的对象,然后创建文件字节输入流对象fis,并且从输入流中读取文件“Example2.txt”的信息。

import java.io.*;
public static void main(String[] args){
File f=new File ("c:\\","Example2.txt");
try{
byte[] bytes=new byte[512];
FileInputStream fis =new FileInputStream(f);//创建文件文件字节输入流 
int rs=0;
System.out.println("The content of Example is :");
while ((rs=fis.read(bytes,0,512))>0){
//再循环中读取输入流的数据
String s=new String (bytes,0,rs);
System.out.println(s);
}
fis.close();
}catch(IOException e){
e.printStackTrace();
}
}
}

结果:

 

FileOutputStream类是OutputStream类的子类。它实现了文件的写入,能够以字节形式写入文件中,该类的所有方法都是从OutputStream类继承并重写的。创建文件字节输出流常用的构造方法有两种。

(1)FileOutputStream(String filePath)。

该构造方法根据指定的文件名称和路径,创建关联该文件的FileOutputStream类实例对象。

语法:

new FileOutputStream(filePath);

filePath:文件的绝对或相对路径。

(2)FileOutputStream(File file)。

该构造方法使用File类型的文件对象,创建与该文件关联的FileOutputStream类的实例对象。

语法:

new FileOutputStream(file);

file:File文件类型的实例对象。在file后面,加true会对原有内容进行追加,不加true会将原有内容覆盖。

例:

传建一个File类的对象,首先潘墩此配置文件是否存在,如果不存在,则调用createNew File方法创建一个文件,然后从键盘输入字符存入数组里,创建文件输出流,把数组里的字符写入到文件中,最终结果保存的“Example3.txr”文件。

import java.io.*;
public class Example3{
    public static void main(String[] args){
        int b;
        File file =new File ("C:\\","Example3.txxt");
        byte[] bytes=new byte[512];
        System.out.println("请输入你想存入文本的内容");
 try{
if (!file.exists())
file.createNewFile();
//把从键盘输入的字符存入bytes里
b=System.out.read(bytes);
//创建文件输出流
FileOutputStream fos=new FileOutputStream(file,true);
fos.write(bytes,0,b);   //把bytes写入到指定文件中
fos.close();
}catch(IOException e){
e.printStackTrace();
}
}
}

结果:

 

posted @ 2018-10-12 00:32  K_Y  阅读(505)  评论(0编辑  收藏  举报