1 文件操作的重要性
文件操作是程序中常见的需求,它允许程序读取、写入、创建和删除文件。在Java中,文件操作不仅涉及到基本的读写,还包括文件属性的获取、文件的遍历等。
7.1.2 Java中的文件类
Java提供了几个类来处理文件和目录路径:
-
File:代表文件和目录路径名的抽象表示形式。
-
Path:Java NIO 2中的类,提供了更灵活的文件路径操作。
-
Paths:用于创建Path实例的实用工具类。
3 读取文件
Java提供了多种方式来读取文件,包括使用BufferedReader
、Scanner
和Java NIO。
示例代码(使用BufferedReader):
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileExample {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
4 写入文件
写入文件可以使用BufferedWriter
、PrintWriter
和Java NIO。
示例代码(使用BufferedWriter):
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class WriteFileExample {
public static void main(String[] args) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("example.txt"))) {
writer.write("Hello, World!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
5 创建和删除文件
可以使用File
类来创建和删除文件。
示例代码:
import java.io.File;
public class FileOperationsExample {
public static void main(String[] args) {
File file = new File("example.txt");
// 创建文件
try {
if (file.createNewFile()) {
System.out.println("File created: " + file.getName());
}
} catch (IOException e) {
e.printStackTrace();
}
// 删除文件
boolean deleted = file.delete();
if (deleted) {
System.out.println("File deleted: " + file.getName());
}
}
}
6 遍历目录
可以使用File
类和Files
类来遍历目录中的文件。
示例代码:
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.stream.Stream;
public class DirectoryTraversalExample {
public static void main(String[] args) {
File directory = new File("/path/to/directory");
try (Stream<Path> paths = Files.walk(directory.toPath())) {
paths.forEach(path -> System.out.println(path.toString()));
} catch (IOException e) {
e.printStackTrace();
}
}
}
7 文件属性
可以使用Files
类来获取文件的属性,如大小、最后修改时间等。
示例代码:
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
public class FileAttributesExample {
public static void main(String[] args) throws IOException {
Path path = Paths.get("example.txt");
BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class);
System.out.println("File size: " + attrs.size());
System.out.println("Last modified time: " + attrs.lastModifiedTime());
}
}
8 异常处理
文件操作可能会抛出多种异常,如IOException
。合理处理这些异常对于确保程序的健壮性至关重要。
通过这一节的学习,你现在应该对Java中的文件操作有了深入的理解。文件操作是程序与外部世界交互的基本方式之一,它涉及到读取、写入、创建、删除文件以及遍历目录等操作。掌握这些技能,可以帮助你更好地管理和操作文件数据。下一节,我们将探讨序列化与反序列化,这是Java的时间胶囊,用于对象的持久化存储。