zoukankan      html  css  js  c++  java
  • Java IO ---学习笔记(文件流)

    文件流:

    在 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);
            }
        }
    
    }
  • 相关阅读:
    tyvj 1031 热浪 最短路
    【bzoj2005】 [Noi2010]能量采集 数学结论(gcd)
    hdu 1394 Minimum Inversion Number 逆序数/树状数组
    HDU 1698 just a hook 线段树,区间定值,求和
    ZeptoLab Code Rush 2015 C. Om Nom and Candies 暴力
    ZeptoLab Code Rush 2015 B. Om Nom and Dark Park DFS
    ZeptoLab Code Rush 2015 A. King of Thieves 暴力
    hdoj 5199 Gunner map
    hdoj 5198 Strange Class 水题
    vijos 1659 河蟹王国 线段树区间加、区间查询最大值
  • 原文地址:https://www.cnblogs.com/silianbo/p/4666391.html
Copyright © 2011-2022 走看看