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();
}
}
}
结果: