根據模板生成HTML檔案
阿新 • • 發佈:2018-11-08
場景描述:
最近寫一個部落格系由於需要批量生成網頁,所以寫這麼一個小功能
直接上程式碼了
html模板(根據需要自己隨便寫,這這是個測試)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>#title#</title>
<style>
body{ text-align:center;border: 0px;margin: 0px;background-color: #F4F4F4;}
.div{ margin :0 auto; width:1188px; height:auto;}
</style>
</head>
<body>
<div class="div">
<div>
#div#
</div>
</div>
</body>
</html>
java程式碼
package html;
import java.io.FileInputStream;
import java.io.FileOutputStream;
/**
* @ClassName : CreateHtmlUtils
* @Description: Java 根據模板建立 html
* @author
* @date 2016年4月22日 下午3:51:16
*/
public class CreateHtmlUtils {
public static void main(String[] args) {
String filePath = "f:/testHtml/test.html";
String imagePath ="f:/test.png";
String disrPath = "f:/newHtml/test/" ;
String fileName = String.valueOf(System.currentTimeMillis());
MakeHtml("我是擡頭",filePath,imagePath,disrPath,fileName);
}
/**
* @Description: 建立html
* @param title 設定模板title
* @param filePath 設定模板檔案
* @param imagePath 需要顯示圖片的路徑
* @param disrPath 生成html的存放路徑
* @param fileName 生成html名字
* @return void 返回型別
* @throws
*/
public static void MakeHtml(String title,String filePath,String imagePath,String disrPath,String fileName ){
try {
//這個東西換成自己想要的就行了,不一定非要圖片
String div = "<image src="+'"'+imagePath+'"'+"/>";
// System.out.print(filePath);
String templateContent = "";
FileInputStream fileinputstream = new FileInputStream(filePath);// 讀取模板檔案
int lenght = fileinputstream.available();
byte bytes[] = new byte[lenght];
fileinputstream.read(bytes);
fileinputstream.close();
templateContent = new String(bytes);
System.out.print(templateContent);
templateContent = templateContent.replaceAll("#title#", title);
templateContent = templateContent.replaceAll("#div#", div);
String fileame = fileName + ".html";
fileame = disrPath+"/" + fileame;// 生成的html檔案儲存路徑。
FileOutputStream fileoutputstream = new FileOutputStream(fileame);// 建立檔案輸出流
byte tag_bytes[] = templateContent.getBytes();
fileoutputstream.write(tag_bytes);
fileoutputstream.close();
} catch (Exception e) {
System.out.print(e.toString());
}
}
}