Java document flow 文件流


文件流

  • 文件流是用来对文件进行读写的流类,主要包括 FileReader 类和 FileWriter 类;

1. FileReader 类

  • FileReader 类创建了一个可以读取文件内容的 Reader 类;
  • 它最常用的构造方法如下:
  • FileReader(String filePath)
  • FileReader(File fileObj)
  • 这两个方法都能引发一个 FileNotFoundException 异常。 在这里 filePath 是一个文件的完整路径, fileObj 是描述该文件的 File 对象;
  • java.io.FileReader,详见:Class FileReader

2. FileWriter 类

  • FileWriter 创建一个可以写文件的 Writer 类;
  • 它最常用的构造方法如下:
  • FileWriter(String filePath)
  • FileWriter(String filePath, boolean append)
  • FileWriter(File fileObj)
  • 它们可以引发 IOException 或 SecurityException 异常;
  • 在这里 filePath 是文件的绝对路径, fileObj 是描述该文件的 File 对象,如果 append 为 true,输出是附加到文件尾的。FileWriter 类的创建不依赖于文件存在与否。在创建文件之前, FileWriter 将在创建对象时打开它来作为输出。如果试图打开一个只读文件,将引发一个 IOException 异常;
  • java.io.FileWriter,详见:Class FileWriter

3. 应用案例

import java.io.*;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入源文件名和目的文件名,中间用空格分隔");
        String s = scanner.next();//读取源文件名
        String d = scanner.next();//读取目的文件名
        File file1 = new File(s);//创建源文件对象
        File file2 = new File(d);//创建目的文件对象

        if (!file1.exists()) {
            System.out.println("被复制的文件不存在");
            System.exit(1);
        }

        InputStream input = new FileInputStream(file1);//创建源文件流
        OutputStream output = new FileOutputStream(file2);//创建目的文件流
        if ((input != null) && (output != null)) {
            int temp = 0;
            while ((temp = input.read()) != (-1))
                output.write(temp);//完成数据复制
        }
        input.close();//关闭源文件流
        output.close();//关闭目的文件流
        System.out.println("文件复制成功!");
    }
}
/*
输出
请输入源文件名和目的文件名,中间用空格分隔
C:\Users\80626\Desktop\1.txt
C:\Users\80626\Desktop\2.txt
文件复制成功!
 */
发布了242 篇原创文章 · 获赞 244 · 访问量 9613

猜你喜欢

转载自blog.csdn.net/Regino/article/details/104744653
今日推荐