Java 文件输入输出是什么?怎么用?

Java文件输入输出(File IO)用于读写文件中的数据。在Java中,文件输入输出的操作一般是通过字节流或字符流来完成的,这些流的类型与上一个问题中提到的字节流和字符流类似。Java提供了大量用于文件输入输出的类和方法,其中最常用的类有File、FileReader、FileWriter、FileInputStream和FileOutputStream。

File类用于表示文件和目录路径名称的抽象表示。可以使用File类操作文件和目录,如检索文件信息、创建和删除文件等。以下是一个使用File类的示例:

import java.io.*;

public class Example {
    public static void main(String[] args) {
        // 定义一个文件对象
        File file = new File("test.txt");
        try {
            // 判断文件是否存在
            if (file.exists()) {
                System.out.println("File exists.");
            } else {
                // 创建新文件
                file.createNewFile();
                System.out.println("File created.");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

FileReader和FileWriter类用于读写文本文件数据。这两个类的使用方式非常类似于之前提到的字符输入输出流,以下是使用FileReader和FileWriter操作文件的示例:

import java.io.*;

public class Example {
    public static void main(String[] args) throws IOException {
        FileReader fileReader = null;
        FileWriter fileWriter = null;

        try {
            fileReader = new FileReader("source.txt");
            fileWriter = new FileWriter("destination.txt");
            int data;
            while ((data = fileReader.read()) != -1) {
                fileWriter.write(data);
            }
        } finally {
            if (fileReader != null) {
                fileReader.close();
            }
            if (fileWriter != null) {
                fileWriter.close();
            }
        }
    }
}

FileInputStream和FileOutputStream类用于读写二进制文件数据,以及处理音频、图片等二进制文件类型。以下是使用FileInputStream和FileOutputStream操作文件的示例:

import java.io.FileInputStream;

public class ReadFileExample {
    public static void main(String[] args) {
        try {
            FileInputStream input = new FileInputStream("filename.txt");
            int data;
            while ((data = input.read()) != -1) {
                System.out.print((char) data);
            }
            input.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

以上代码打开名为filename.txt的文件并读取其内容。while循环逐个读取字符并将其打印到控制台。

import java.io.FileOutputStream;

public class WriteFileExample {
    public static void main(String[] args) {
        try {
            FileOutputStream output = new FileOutputStream("filename.txt");
            String data = "Hello, World!";
            byte[] bytes = data.getBytes();
            output.write(bytes);
            output.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

以上代码创建一个名为filename.txt的文件,并将字符串"Hello, World!"写入该文件。

举报
评论 0