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