Java、使用输入输出流,将文件words.txt 文件内容读出,然后以倒序的方式重新保存在信的文件newwords.txt里面,并为每个单词编号。如果在保存的时候newwords文件已经存在,应该产生FileFundException,并将其捕获处理。
时间: 2024-05-12 14:12:48 浏览: 68
可以按照以下步骤实现:
1. 使用 FileInputStream 和 BufferedReader 读取文件 words.txt,将每一行的单词存储到一个 ArrayList 中。
2. 对 ArrayList 中的单词进行倒序排序。
3. 使用 FileOutputStream 和 BufferedWriter 将排序后的单词写入到新文件 newwords.txt 中,并为每个单词编号。
4. 在写入文件时使用 try-catch 捕获 FileFundException 异常,如果异常发生则输出错误信息。
以下是示例代码实现:
```java
import java.io.*;
import java.util.*;
public class ReverseWords {
public static void main(String[] args) {
try {
// 读取文件
FileInputStream fileInputStream = new FileInputStream("words.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream));
ArrayList<String> words = new ArrayList<>();
String line = reader.readLine();
while (line != null) {
String[] lineWords = line.split(" ");
for (String word : lineWords) {
words.add(word);
}
line = reader.readLine();
}
reader.close();
// 排序并写入文件
Collections.reverse(words);
FileOutputStream fileOutputStream = new FileOutputStream("newwords.txt");
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(fileOutputStream));
int count = 1;
for (String word : words) {
try {
writer.write(count + ". " + word + "\n");
} catch (FileNotFoundException e) {
System.out.println("newwords.txt 文件已存在,无法写入。");
}
count++;
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
需要注意的是,如果 newwords.txt 文件已存在,会在写入文件时抛出 FileNotFoundException 异常,需要在 catch 块中处理该异常。
阅读全文