头歌学习-Java字符串之字符串、字符数组与字节数组间的使用之单词重新排序
时间: 2023-12-25 15:05:46 浏览: 119
浅谈java 字符串,字符数组,list间的转化
好的,让我来回答您的问题。针对您提到的问题,我可以给出以下的思路和代码实现:
思路:
1. 读取文件中的单词,并将其存储到一个字符串数组中。
2. 对字符串数组中的每个单词进行排序。
3. 将排序后的单词重新写回文件中。
代码实现:
```java
import java.io.*;
import java.util.*;
public class WordSorter {
public static void main(String[] args) {
String inputFile = "input.txt";
String outputFile = "output.txt";
String[] words = readWordsFromFile(inputFile);
sortWords(words);
writeWordsToFile(words, outputFile);
}
// 从文件中读取单词
private static String[] readWordsFromFile(String fileName) {
List<String> wordList = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
String line;
while ((line = reader.readLine()) != null) {
String[] words = line.split("\\s+");
for (String word : words) {
wordList.add(word);
}
}
} catch (IOException e) {
e.printStackTrace();
}
return wordList.toArray(new String[0]);
}
// 对单词进行排序
private static void sortWords(String[] words) {
Arrays.sort(words);
}
// 将单词写回文件
private static void writeWordsToFile(String[] words, String fileName) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) {
for (String word : words) {
writer.write(word + " ");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上代码中,我们使用了Java中的FileReader、BufferedReader、FileWriter和BufferedWriter等类来读取和写入文件,使用了Java中的Arrays类来对字符串数组进行排序。在readWordsFromFile方法中,我们使用了正则表达式 "\\s+" 来将一行中的单词分割开来。在writeWordsToFile方法中,我们在每个单词后面加上了一个空格。如果您需要更改分隔符或者去掉单词之间的空格,请相应地修改代码。
阅读全文