Java I/O流:文件系统操作详解
简介
Java I/O流提供了一组用于处理文件系统操作的类和接口。通过使用 I/O流,您可以在 Java 程序中读取、写入和操作文件系统中的文件。
文件流
1. 输入流
FileInputStream
:从文件读取字节序列。FileReader
:从文件读取字符序列。
2. 输出流
FileOutputStream
:向文件写入字节序列。FileWriter
:向文件写入字符序列。
示例:读取文件内容
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamExample {
public static void main(String[] args) {
try {
// 创建文件输入流对象
FileInputStream fis = new FileInputStream(new File("file.txt"));
// 创建字节数组以存储文件内容
byte[] data = new byte[fis.available()];
// 读取文件内容并存储在字节数组中
int bytesRead = fis.read(data);
// 将字节数组转换为字符串并打印
String fileContent = new String(data, 0, bytesRead);
System.out.println(fileContent);
// 关闭文件输入流
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
目录操作
除了文件流之外,Java I/O还提供了一些用于目录操作的类:
File
:表示单个文件或目录。FileFilter
:用于过滤文件。FileNameFilter
:用于过滤文件和目录的名称。
示例:获取目录下的文件列表
import java.io.File;
import java.util.Arrays;
public class FileListExample {
public static void main(String[] args) {
// 创建 File 对象代表当前目录
File dir = new File(".");
// 获取当前目录下的文件列表
File[] files = dir.listFiles();
// 打印文件列表
Arrays.stream(files).forEach(System.out::println);
}
}