Java文件操作:读取与写入

1 下载量 169 浏览量 更新于2024-08-03 收藏 4KB MD 举报
"Java语言提供了丰富的API来处理文件的各种操作,包括读取、写入、删除等。在Java后端开发中,理解并熟练运用这些API对于处理文件系统交互至关重要。下面将详细介绍如何使用Java进行文件操作。 1. 读取文件 Java 提供了多种读取文件的方法。下面展示了两种常见的读取文件的示例: - 方法1 使用 `java.nio.file` 包中的 `Files.readAllLines()` 方法。这个方法会一次性读取整个文件,并将每一行内容存储到一个 `List<String>` 中。代码如下: ```java import java.nio.file.Files; import java.nio.file.Paths; import java.io.IOException; public class FileReadExample { public static void main(String[] args) { Path path = Paths.get("path/to/your/file.txt"); try { List<String> lines = Files.readAllLines(path); for (String line : lines) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } } ``` - 方法2 使用 `BufferedReader` 类与 `FileReader` 配合。这种方式可以逐行读取文件,适合于大文件或者需要进行流式处理的情况。代码如下: ```java import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class FileReadExampleWithBufferedReader { public static void main(String[] args) { BufferedReader reader = null; try { reader = new BufferedReader(new FileReader("path/to/your/file.txt")); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } } } ``` 2. 写入文件 写入文件同样有多种方式,这里展示两种常见方法: - 方法1 使用 `BufferedWriter` 和 `FileWriter`。`BufferedWriter` 可以提高写入效率,因为它会在内存中缓存数据,然后一次性写入磁盘。示例如下: ```java import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class FileWriteExampleWithBufferedWriter { public static void main(String[] args) { BufferedWriter writer = null; try { writer = new BufferedWriter(new FileWriter("path/to/your/output.txt")); writer.write("Hello, World!"); } catch (IOException e) { e.printStackTrace(); } finally { if (writer != null) { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } } } ``` - 方法2 使用 `Files.write()` 方法,它可以一次性写入多行数据。这种方法简洁且易于使用,但可能不如 `BufferedWriter` 效率高。示例如下: ```java import java.nio.file.Files; import java.nio.file.Paths; import java.io.IOException; import java.util.Arrays; public class FileWriteExampleWithFilesWrite { public static void main(String[] args) { String[] lines = {"Line 1", "Line 2", "Line 3"}; try { Files.write(Paths.get("path/to/your/output.txt"), Arrays.asList(lines)); } catch (IOException e) { e.printStackTrace(); } } } ``` 3. 删除文件 要删除文件,可以使用 `Files.delete()` 方法。请注意,如果文件不存在或无法删除(例如因为文件被其他程序占用),此操作可能会抛出异常。 ```java import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.io.IOException; public class FileDeleteExample { public static void main(String[] args) { Path path = Paths.get("path/to/your/file.txt"); try { Files.delete(path); } catch (IOException e) { e.printStackTrace(); } } } ``` 除了上述基本操作,Java 还提供了很多其他文件操作功能,如创建目录、移动和重命名文件、检查文件属性等。在实际开发中,理解并灵活运用这些API能够帮助我们高效地处理文件系统任务。"