Java文件系统操作完全指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Java 文件系统操作:从 File 到 NIO



文件系统操作是 Java 开发中的基础任务之一。无论是读取配置文件、写入日志还是处理用户数据,正确与文件和目录交互的能力是每位 Java 开发者必备的技能。本文将详细讲解文件系统操作的主要类和方法,从经典的 java.io.File 到现代的 java.nio.file。



File 类:文件和文件夹的基本操作



java.io.File 类自 Java 第一个版本就已存在,提供了路径、文件和目录操作的基本功能。它不直接读写数据,但支持文件系统管理操作。



创建 File 对象并检查存在性:

import java.io.File;

public class FileExample { public static void main(String[] args) { File file = new File("example.txt"); File dir = new File("myFolder");

System.out.println("文件存在:" + file.exists()); System.out.println("这是目录:" + dir.isDirectory()); }}


创建文件和目录:

File newFile = new File("newFile.txt");if (newFile.createNewFile()) {    System.out.println("文件已创建:" + newFile.getName());} else {    System.out.println("文件已存在");}

File newDir = new File("newDirectory");if (newDir.mkdir()) { System.out.println("文件夹已创建");}

// 创建嵌套目录File nestedDir = new File("parent/child/grandchild");if (nestedDir.mkdirs()) { System.out.println("嵌套文件夹已创建");}


获取文件信息:

File infoFile = new File("example.txt");System.out.println("绝对路径:" + infoFile.getAbsolutePath());System.out.println("大小:" + infoFile.length() + " 字节");System.out.println("最后修改时间:" + infoFile.lastModified());System.out.println("父目录:" + infoFile.getParent());


删除和重命名:

File fileToDelete = new File("temp.txt");if (fileToDelete.delete()) {    System.out.println("文件已删除");}

File oldFile = new File("old.txt");File newFile = new File("new.txt");if (oldFile.renameTo(newFile)) { System.out.println("文件已重命名");}


文件读写:经典 I/O 流



直接读写数据使用 I/O 流。主要类包括:用于字节数据的 FileInputStream、FileOutputStream,以及用于文本数据的 FileReader、FileWriter。



使用 FileWriter 写入文本到文件:

import java.io.FileWriter;import java.io.IOException;

public class WriteExample { public static void main(String[] args) { try (FileWriter writer = new FileWriter("output.txt")) { writer.write("你好,世界!"); writer.write("这是第二行。"); System.out.println("写入成功"); } catch (IOException e) { System.err.println("写入错误:" + e.getMessage()); } }}


使用 FileReader 和 BufferedReader 读取文本文件:

import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;

public class ReadExample { public static void main(String[] args) { try (BufferedReader reader = new BufferedReader(new FileReader("output.txt"))) { String line; while ((line = reader.readLine()) != null) { System.out.println(line);

博客

书籍推荐