Java IO ---学习笔记(文件流)

来源:互联网 发布:基于粒子群算法的论文 编辑:程序博客网 时间:2024/06/05 11:52
文件流:

在 I/O 处理中,最常见的就是对文件的操作。java.io 包中所提供的文件操作类包括:

  1. 用于读写本地文件系统中的文件:FileInputStream 和 FileOutputStream
  2. 描述本地文件系统中的文件或目录:File、FileDescriptor 和 FilenameFilter
  3. 提供对本地文件系统中文件的随机访问支持:RandomAccessFile

  下面是文件流的 FileInputStream 和 FileOutputStream

  FileInputStream 类用于打开一个输入文件,若要打开的文件不存在,则会产生例外 FileNotFoundException,着是一个非运行时例外,必须捕获或声明抛弃;

  FileOutputStream 类用来打开一个输出文件,若要打开的文件不存在,则会创建一个新的文件,否则原文件的内容会被新写入的内容所覆盖;

  在进行文件的读/写操作时,会产生非运行时例外 IOException,必须捕获或声明抛弃(其他的输入/输出流处理时也同样需要进行输入/输出例外处理)。

文件流的构造方法:

//打开一个以 f 描述的文件作为输入FileInputStream(File f)//打开一个文件路径名为 name 的文件作为输入FileInputStream(String name)//创建一个以 f 描述的文件作为输出//如果文件存在,则其内容被清空FileOutputStream(File f)//创建一个文件路径名为 name 的文件作为输出//文件如果已经存在,则其内容被清空FileOutputStream(String name)//创建一个文件路径名为 name 的文件作为输出//文件如果已经存在,则在该输出上输出的内容被接到原有内容之后FileOutputStream(String name, boolean append)

例子如下:

File f1 = new File("file1.txt");File f2 = new File("file2.txt");FileInputStream in = new FileInputStream(f1);FileOutputStream out = new FileOutputStream(f2)

输入流的参数是用于指定输入的文件名,输出流的参数则是用于指定输出的文件名。

import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class test {    public static void main(String[] args) {        try {            //inFile 作为输入流的数据文件必须存在,否则抛出异常            File inFile = new File("/Users/mumutongxue/Documents/file1.txt");            //file2.txt没有,系统可以创建            File outFile = new File("file2.txt");            FileInputStream fis = new FileInputStream(inFile);            FileOutputStream fos = new FileOutputStream(outFile);            int c;            while((c = fis.read()) != -1){                fos.write(c);            }            //打开了文件一定要记着关,释放系统资源            fis.close();            fos.close();        }catch(FileNotFoundException e) {            System.out.println("FileStreamsTest:" + e);        }catch(IOException e){            System.err.println("FileStreamTest:" + e);        }    }}