使用Java代码实现:将txt文本按行打乱顺序,后重写到txt文本中
时间: 2023-06-13 18:06:56 浏览: 236
Java编写的类似txt文本的编辑文本
以下是Java代码实现:
```java
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ShuffleTextFile {
public static void main(String[] args) {
// 定义文件路径
String filePath = "input.txt";
// 读取文件内容
List<String> lines = readLinesFromFile(filePath);
// 打乱文件内容顺序
Collections.shuffle(lines);
// 将打乱后的内容写回到文件中
writeLinesToFile(lines, filePath);
}
private static List<String> readLinesFromFile(String filePath) {
List<String> lines = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = reader.readLine()) != null) {
lines.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return lines;
}
private static void writeLinesToFile(List<String> lines, String filePath) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
for (String line : lines) {
writer.write(line);
writer.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
我们首先读取文本文件中的所有行,然后使用 `Collections.shuffle()` 方法打乱顺序,最后将打乱后的内容重新写回到文本文件中。注意,为了确保程序的可读性和可维护性,我们使用了 try-with-resources 语句来处理文件读写操作,这样可以确保在代码运行完毕后,文件句柄会被自动关闭。
阅读全文