java题目已知学生模板文件student.template 模板中定义了保存学生数据的格式 要求:读取模板文件,把模板中的{name}、{cname}、{single}、{school}替换为具体的学生信息 并将替换后的内容写入到student.txt文件中
时间: 2024-10-23 12:20:26 浏览: 10
template_模板文件_
在Java中,你可以使用`java.io.FileInputStream`和`java.nio.file.Files`类来读取模板文件并替换内容,然后使用`FileOutputStream`或`Files.write`将处理后的结果写入到新的文件中。以下是一个简单的示例步骤:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
public class ReplaceTemplate {
public static void main(String[] args) {
// 模板文件路径
String templateFilePath = "student.template";
// 输出文件路径
String outputFile = "student.txt";
try {
// 读取模板文件
BufferedReader reader = new BufferedReader(new FileReader(templateFilePath));
StringBuilder contentBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
// 使用正则表达式替换占位符
String formattedLine = line.replace("{name}", "张三"); // 示例替换成学生名字
formattedLine = formattedLine.replace("{cname}", "计算机科学系"); // 示例替换成学院名
formattedLine = formattedLine.replace("{single}", "大一"); // 示例替换成年级
formattedLine = formattedLine.replace("{school}", "清华大学"); // 示例替换成学校
contentBuilder.append(formattedLine);
contentBuilder.append("\n");
}
reader.close();
// 写入替换后的内容到新文件
FileWriter writer = new FileWriter(outputFile);
writer.write(contentBuilder.toString());
writer.close();
System.out.println("替换并写入成功");
} catch (IOException e) {
e.printStackTrace();
System.out.println("发生错误:" + e.getMessage());
}
阅读全文