用java使用输入输出流,将文件words.txt 文件内容读出,然后以倒序的方式重新保存在信的文件newwords.txt里面,并为每个单词编号。如果在保存的时候newwords文件已经存在,应该产生FileFundException,并将其捕获处理。
时间: 2024-05-10 07:16:59 浏览: 56
java处理word文件
可以使用以下代码实现:
```java
import java.io.*;
public class ReverseWords {
public static void main(String[] args) {
try {
// 读取文件内容
BufferedReader br = new BufferedReader(new FileReader("words.txt"));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
int count = 0;
while (line != null) {
sb.append(line).append("\n");
line = br.readLine();
count++;
}
br.close();
// 写入文件内容
File file = new File("newwords.txt");
if (file.exists()) {
throw new FileFundException("文件已存在");
}
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
String[] words = sb.toString().split("\\s+");
for (int i = count - 1; i >= 0; i--) {
bw.write((count - i) + " " + words[i] + "\n");
}
bw.close();
System.out.println("文件已保存");
} catch (IOException e) {
e.printStackTrace();
} catch (FileFundException e) {
System.out.println("文件已存在");
}
}
}
```
这里使用了 `BufferedReader` 和 `BufferedWriter` 来读取和写入文件内容,使用 `StringBuilder` 来存储文件内容。在读取文件内容时,使用 `\n` 分隔每一行,并使用 `count` 记录行数。在写入文件内容时,先检查文件是否已存在,如果已存在则抛出 `FileFundException`。然后按照倒序的方式将每个单词写入文件,并为每个单词编号。最后关闭输入输出流。
阅读全文