自己创建模板,模板内容如下: “您好!我是一只狗狗dog,我的名字是{name},我是一只{type}。我的主人是{master}” 模板存放在“D:\dog.txt”, 读取模板文件D:\dog.txt的内容,按照D:\dog.txt的模板格式保存宠物数据到文本文件,即把{name}、{type}、{master}替换为具体的宠物信息,将替换后的内容写入到D:\myDoc\dog.txt中。(要求使用BufferedReade、BufferedWriter、StringBuffer、replace()实现)。
时间: 2024-03-26 11:42:17 浏览: 15
好的,我知道了。这是一个关于宠物信息存储的问题,需要按照指定的模板格式将宠物信息写入文本文件中。
首先,我们需要读取模板文件的内容,使用BufferedReader读取文件内容,然后使用StringBuffer将读取的内容保存下来,接着使用replace()方法替换模板中的占位符,最后将替换后的内容写入到指定的文本文件中。
下面是实现的代码:
```java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class PetInfoStorage {
public static void main(String[] args) {
String templateFilePath = "D:\\dog.txt";
String petInfoFilePath = "D:\\myDoc\\dog.txt";
String name = "小白";
String type = "柯基";
String master = "小明";
try {
// 读取模板文件
BufferedReader reader = new BufferedReader(new FileReader(templateFilePath));
StringBuffer templateBuffer = new StringBuffer();
String line;
while ((line = reader.readLine()) != null) {
templateBuffer.append(line);
}
reader.close();
// 替换占位符
String template = templateBuffer.toString();
template = template.replace("{name}", name);
template = template.replace("{type}", type);
template = template.replace("{master}", master);
// 写入宠物信息到文件
BufferedWriter writer = new BufferedWriter(new FileWriter(petInfoFilePath));
writer.write(template);
writer.close();
System.out.println("宠物信息已保存到文件:" + petInfoFilePath);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们使用了BufferedReader和BufferedWriter,它们可以提高读写文件的效率。我们还使用了StringBuffer和replace()方法来替换模板中的占位符,并将替换后的内容写入到指定的文件中。
你可以将这段代码保存为PetInfoStorage.java,然后使用javac命令编译它,最后使用java命令运行它。当运行成功后,你会在D:\myDoc\dog.txt文件中看到保存的宠物信息。