用java写一个文本随机读写
时间: 2023-12-21 12:07:18 浏览: 109
以下是一个简单的 Java 程序,可以从指定的文本文件中随机读取一行,并将用户输入的内容写入文件末尾。
```java
import java.io.*;
import java.util.*;
public class TextRandomReadWrite {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 指定文本文件路径
String filePath = "text.txt";
try {
// 读取文本文件中的所有行
List<String> lines = readAllLines(filePath);
// 随机读取一行
String randomLine = getRandomLine(lines);
System.out.println("随机读取的行:" + randomLine);
// 将用户输入的内容写入文件末尾
System.out.print("请输入要写入文件的内容:");
String input = scanner.nextLine();
writeLineToFile(filePath, input);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 读取文本文件中的所有行
*/
public static List<String> readAllLines(String filePath) throws IOException {
List<String> lines = new ArrayList<>();
BufferedReader reader = new BufferedReader(new FileReader(filePath));
String line;
while ((line = reader.readLine()) != null) {
lines.add(line);
}
reader.close();
return lines;
}
/**
* 随机读取一行
*/
public static String getRandomLine(List<String> lines) {
Random random = new Random();
int randomIndex = random.nextInt(lines.size());
return lines.get(randomIndex);
}
/**
* 将一行文本写入文件末尾
*/
public static void writeLineToFile(String filePath, String line) throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter(filePath, true));
writer.write(line + "\n");
writer.close();
}
}
```
在上面的程序中,我们首先使用 `readAllLines` 方法来读取文本文件中的所有行,然后使用 `getRandomLine` 方法随机抽取一行。接着,我们使用 `writeLineToFile` 方法将用户输入的一行文本写入文件末尾。注意,这里的 `FileWriter` 构造函数的第二个参数设为 `true`,表示以追加模式打开文件。
你可以根据需要修改文件路径和文件名。
阅读全文