方法一
1.buildhtml.jsp
<%@ page contentType= "text/html; charset=gb2312 " import= "java.util.*,java.io.* "%>
<%
try{
String title= "This is Title ";
String content= "This is Content Area ";
String editer= "LaoMao ";
String filePath = " ";
filePath = request.getRealPath( "/ ")+ "test/template.htm ";
//out.print(filePath+ " <br/> ");
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);
//out.print(templateContent);
templateContent=templateContent.replaceAll( "###title### ",title);
templateContent=templateContent.replaceAll( "###content### ",content);
templateContent=templateContent.replaceAll( "###author### ",editer);//替换掉模块中相应的地方
//out.print(templateContent);
// 根据时间得文件名
Calendar calendar = Calendar.getInstance();
String fileame = String.valueOf(calendar.getTimeInMillis()) + ".html ";
fileame = request.getRealPath( "/ ")+fileame;//生成的html文件保存路径
FileOutputStream fileoutputstream = new FileOutputStream(fileame);//建立文件输出流
byte tag_bytes[] = templateContent.getBytes();
fileoutputstream.write(tag_bytes);
fileoutputstream.close();
}
catch(Exception e){
out.print(e.toString());
}
%>
2. template.htm
<html>
<head>
<title> ###title### </title>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<LINK href= "../css.css " rel=stylesheet type=text/css>
</head>
<body>
<table width= "500 " border= "0 " align= "center " cellpadding= "0 " cellspacing= "2 ">
<tr>
<td align= "center "> ###title### </td>
</tr>
<tr>
<td align= "center "> author:###author### </td>
</tr>
<tr>
<td> ###content###
</td>
</tr>
</table>
</body>
</html>
方法二
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.Date;
public class HtmlDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuilder path=new StringBuilder();
path.append("//FileDemo");//保存生成Html文件的目录
File file1;
String str=null;
Date todaytime=new Date();
SimpleDateFormat date=new SimpleDateFormat("yyyyMM");
SimpleDateFormat ttime=new SimpleDateFormat("yyyyMMddhhMMSS");
String name =ttime.format(todaytime);//生成当前时间作为文件名
String folder=date.format(todaytime);//生成当前日期作为文件夹名
File file=new File(path.toString());
File[] files = file.listFiles();//得到根目录下的所有文件名目录
for(int i=0;i < files.length;i++){
if(files[i].isDirectory()){//判断是否为目录
if(files[i].getName().equals(folder)){
str=files[i].getName();
}
}
}
if(str==null){
file1=new File(path.append("\\"+folder+"\\").toString());
file1.mkdir();//如果str等于空.则在根目录下创建folder目录.
System.out.println("1:"+path);
}else{
path.append("\\"+str+"\\");//如果str不为空,则用原目录
System.out.println("2:"+path);
}
String content="this is my fisrt Html page.这是我第一个html页面<br>呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......呵呵.......";
File file2 = new File(path.append(name+".html").toString());
System.out.println(path);
StringBuilder sb = new StringBuilder();
try {
file2.createNewFile();//创建文件
sb.append("<html><head><title>Html Test</title></head><body>");
sb.append("<div align='center'>");
sb.append(content);
sb.append("</div>");
sb.append("</body></html>");
PrintStream printStream = new PrintStream(new FileOutputStream(file2));
printStream.println(sb.toString());//将字符串写入文件
String newPath=path.toString().replace("\\", "/");
System.out.println(newPath);
} catch (IOException e) {
e.printStackTrace();
}