利用java编写一个程序,从一个文件中读入单词(即:以空格或回车换行分隔的字符串),并对单词进行排序, 删除重复出现的单词,然后将结果输出到另一个文件中。生成代码
时间: 2024-06-10 09:05:49 浏览: 97
一个java编写的程序
请参考以下代码:
```java
import java.io.*;
import java.util.*;
public class SortAndRemoveDuplicates {
public static void main(String[] args) {
String inputFilename = "input.txt";
String outputFilename = "output.txt";
ArrayList<String> words = new ArrayList<>();
// Read in words from input file and add them to ArrayList
try (Scanner scanner = new Scanner(new File(inputFilename))) {
while (scanner.hasNext()) {
String word = scanner.next().trim();
if (!word.isEmpty()) {
words.add(word);
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// Sort words and remove duplicates using HashSet
Collections.sort(words);
HashSet<String> uniqueWords = new HashSet<>(words);
// Write sorted and unique words to output file
try (PrintWriter writer = new PrintWriter(new File(outputFilename))) {
for (String word : uniqueWords) {
writer.println(word);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
```
这个程序会从名为 "input.txt" 的文件中读入单词,对它们进行排序并删除重复单词,最终将结果输出到 "output.txt" 文件中。你可以根据需要修改输入和输出文件名,也可以在程序中添加错误处理和边界检查等其他功能。但是,请注意,这个程序的时间和空间复杂度可能随着文件大小和单词数量的增加而变得非常低效,进而导致运行缓慢。
阅读全文