java读取文件随机抽取一行内容然后在这一行后面添加数据并存入文件中
时间: 2023-09-12 16:07:57 浏览: 99
可以按照以下步骤实现:
1. 使用Java的FileReader和BufferedReader读取文件内容,存入List<String>中。
2. 使用Java的Random类生成一个随机数,作为从List中抽取一行的索引。
3. 从List中根据索引抽取一行内容。
4. 在抽取的行后面添加需要添加的数据。
5. 将修改后的内容写入文件中,可以使用Java的FileWriter和BufferedWriter。
下面是示例代码:
```java
import java.io.*;
import java.util.*;
public class FileRandomLine {
public static void main(String[] args) throws IOException {
// 读取文件内容,存入List中
List<String> lines = new ArrayList<>();
FileReader fileReader = new FileReader("file.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
lines.add(line);
}
bufferedReader.close();
// 生成随机数,抽取一行内容
Random random = new Random();
int index = random.nextInt(lines.size());
String selectedLine = lines.get(index);
// 在抽取的行后面添加数据
String newData = "new data";
String modifiedLine = selectedLine + newData;
// 写入文件
FileWriter fileWriter = new FileWriter("file.txt");
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
for (String l : lines) {
if (l.equals(selectedLine)) {
bufferedWriter.write(modifiedLine);
} else {
bufferedWriter.write(l);
}
bufferedWriter.newLine();
}
bufferedWriter.close();
}
}
```
其中,file.txt是要读取和写入的文件名,new data是要添加的数据。注意,如果要修改的文件比较大,可能需要考虑使用更高效的I/O方式。
阅读全文