Java文件操作:读取与写入
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能够帮助我们高效地处理文件系统任务。"
2019-04-26 上传
2020-05-02 上传
2023-07-08 上传
2008-12-20 上传
2020-08-29 上传
2019-07-26 上传
2013-04-28 上传
2022-11-22 上传
猫脸码客:catCode2024
- 粉丝: 9521
- 资源: 65
最新资源
- java 自学电子书
- Matlab 常用函数参考
- 张孝祥的vc++讲课记录整理
- 基于热电阻的测温系统的设计
- 计算机编程基础计算机编程基础
- Linux常用命令浏览v1.1
- Logistic 回归分析(二分变量)
- Mysql的实用文档
- 细说C/C++指针开发
- 串口API通信函数编程
- 1602中文资料 液晶显示器
- ORACLE回滚段的概念、用法和规划及问题解决
- C++string深入全解
- Keil C51库函数(全) C51强大功能及其高效率的重要体现之一在于其丰富的可直接调用的库函数,多使用库函数使程序代码简单,结构清晰,易于调试和维护,下面介绍C51的库函数系统
- 《C程序设计》(第三版) 谭浩强编(PDF版)
- 用单片机实现温度远程显示