Java- 使用布局模板制作文件?
Java- Making a File from template with layout?
我想要实现的是一个程序,该程序从名为 WaarschuwingsBriefTemplate.txt (WarningLetterTemplate) 的模板创建一个文件。该方法在其括号中使用 Klant(客户)调用。
现在,当我调用此方法时,它根本不会写入任何输入,即使模板中有输入,并且我试图在方法本身中添加输入,但它似乎不起作用。外来词简译:
NAAM = 名称
ADRES = 地址
邮政编码 = 邮政编码
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class FileMaker {
public FileMaker(){
}
public void maakWaarschuwingsBrief(Klant k) throws IOException{
File file = new File("WaarschuwingsBriefTemplate.txt");
String newFile = "";
try{
Scanner sc = new Scanner(file);
while(sc.hasNextLine()){
String line = sc.nextLine();
if(line.contains("--NAAM--")){
line = line.replace("--NAAM--", k.getNaam())+"\n";
}
if(line.contains("--ADRES--")){
line = line.replace("--ADRES--", k.getAdres())+"\n";
}
if(line.contains("--POSTCODE--")){
line = line.replace("--POSTCODE--", k.getPostcode())+"\n";
}
newFile += line + "\n";
}
sc.close();
}catch(FileNotFoundException e){
e.printStackTrace();
}
File file2 = new File(k.getNaam().replaceAll("\s","")+".txt");
if(!file2.exists()){
file2.createNewFile();
}
FileWriter fw = new FileWriter(file2.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(newFile);
bw.close();
}
}
`
如果您的模板不是太大并且可以将整个文件读取到内存中,也许可以尝试 https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/text/StrSubstitutor.html 而不是手动操作?
也使用 http://docs.oracle.com/javase/8/docs/api/java/lang/System.html#lineSeparator-- 而不是 "\n"
我想要实现的是一个程序,该程序从名为 WaarschuwingsBriefTemplate.txt (WarningLetterTemplate) 的模板创建一个文件。该方法在其括号中使用 Klant(客户)调用。
现在,当我调用此方法时,它根本不会写入任何输入,即使模板中有输入,并且我试图在方法本身中添加输入,但它似乎不起作用。外来词简译:
NAAM = 名称
ADRES = 地址
邮政编码 = 邮政编码
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class FileMaker {
public FileMaker(){
}
public void maakWaarschuwingsBrief(Klant k) throws IOException{
File file = new File("WaarschuwingsBriefTemplate.txt");
String newFile = "";
try{
Scanner sc = new Scanner(file);
while(sc.hasNextLine()){
String line = sc.nextLine();
if(line.contains("--NAAM--")){
line = line.replace("--NAAM--", k.getNaam())+"\n";
}
if(line.contains("--ADRES--")){
line = line.replace("--ADRES--", k.getAdres())+"\n";
}
if(line.contains("--POSTCODE--")){
line = line.replace("--POSTCODE--", k.getPostcode())+"\n";
}
newFile += line + "\n";
}
sc.close();
}catch(FileNotFoundException e){
e.printStackTrace();
}
File file2 = new File(k.getNaam().replaceAll("\s","")+".txt");
if(!file2.exists()){
file2.createNewFile();
}
FileWriter fw = new FileWriter(file2.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(newFile);
bw.close();
}
}
`
如果您的模板不是太大并且可以将整个文件读取到内存中,也许可以尝试 https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/text/StrSubstitutor.html 而不是手动操作?
也使用 http://docs.oracle.com/javase/8/docs/api/java/lang/System.html#lineSeparator-- 而不是 "\n"