
Java编写和保存TXT文件代码解析
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本文章详细讲解了如何使用Java语言编写程序来创建、读取及向TXT文本文件中添加或保存数据的过程,并对相关代码进行了深入解析。
在Java中实现创建并保存txt文件涉及到几个关键的类和方法,包括但不限于`java.io.File`、`java.io.Writer`、`java.io.PrintWriterWriter`以及`java.io.BufferedReader`等。下面将详细介绍如何使用这些类和方法来完成txt文件的创建和写入操作。
### 创建文件对象
在Java中,我们可以利用 `File` 类表示一个文件,并通过该类提供的多种方法进行各种操作。当需要创建一个 txt 文件时,可以使用 `File` 类的构造函数并传入文件路径作为参数。如果目标文件不存在,则可以通过调用 `createNewFile()` 方法来创建一个新的空文件。
```java
public static boolean createTxtFile(String name) throws IOException {
String filenameTemp = path + name + .txt;
File file = new File(filenameTemp);
if (!file.exists()) {
return file.createNewFile();
}
return true;
}
```
### 写入文件内容
为了向 txt 文件写入数据,我们可以使用 `java.io.Writer` 的子类如 `BufferedWriter`, `FileWriter` 等。这里我们可以通过创建一个能够输出字符流的实例来开始操作,并用 `BufferedWriter` 包装它以提高效率。
```java
public static void write(String path) throws IOException {
String s = 测试数据;
File file = new File(path);
if (file.exists()) {
// 如果文件存在,使用追加模式打开
BufferedWriter bw = new BufferedWriter(new FileWriter(file, true));
bw.write(s);
bw.newLine();
bw.close();
} else {
// 如果文件不存在,先创建一个新文件再写入内容
createTxtFile(1.txt);
write(path);
}
}
```
### 关闭文件流
在完成所有写操作后,务必关闭用于读写的资源。通常我们会在 `finally` 块中处理这些步骤以确保无论是否发生异常都能释放系统资源。
```java
public static void main(String[] args) throws IOException {
write(E:/1.txt);
}
```
### 示例代码详解
上述示例中的 `BufferedWriterDemo` 类展示了如何写入字符串到指定的 txt 文件中:
```java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedWriterDemo {
public static void main(String[] args) throws IOException {
write(E:/1.txt);
}
public static void write(String path) throws IOException {
String s = 测试数据;
BufferedWriter bw = new BufferedWriter(new FileWriter(path));
bw.write(s);
bw.newLine();
bw.close();
System.out.println(写入成功);
}
}
```
在这个例子中,`write` 方法首先创建了一个 `BufferedWriter` 对象,并传入了使用指定路径的 `FileWriter`。然后通过 BufferedWriter 写入了一行字符串数据,并在之后调用了 `newLine()` 方法插入一个换行符,最后关闭文件流。
### 另一例子
另一个示例类展示了如何读取现有 txt 文件内容并追加新信息:
```java
public static boolean writeTxtFile(String newStr) throws IOException {
String filein = newStr + System.getProperty(line.separator);
FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;
FileOutputStream fos = null;
PrintWriter pw = null;
try {
File file = new File(filenameTemp);
fis = new FileInputStream(file);
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);
StringBuffer buf = new StringBuffer(); // 保存文件原有的内容
String temp;
while ((temp = br.readLine()) != null) {
buf.append(temp).append(System.getProperty(line.separator));
}
buf.append(filein); // 追加新数据
fos = new FileOutputStream(file);
pw = new PrintWriter(fos);
pw.write(buf.toString().toCharArray());
} finally {
if (pw != null) {
pw.close();
}
if (br != null) {
br.close();
}
if (fis != null) {
fis.close();
}
}
return true;
}
```
在这个方法中,我们首先读取了文件的现有内容并保存在 `StringBuffer` 对象里。接着创建了一个新字符串,并将其追加到文件末尾。最后使用 `PrintWriter` 将合并后的内容写回原始位置。
总结来说,在Java环境中实现 txt 文件的创建和写入操作主要依赖于 IO 类库中的几个关键类及方法,同时需要确保正确管理资源并妥善处理异常情况以保证程序的健壮性。
全部评论 (0)


