java生成html 控制编码方式_Java生成静态HTML文件

private static final String FILEPATH = "/opt/nginx/html/banner/";

private static final String RETURNPATH = "/banner/";

private static final String IMAGEPATH="/image_app/scp_image/bannerimg/";

private static final String TEMPLATE_PATH = "/opt/nginx/html/banner/modelHtml.html";

@RequestMapping("/submit")

@ResponseBody

public Map submit(String imageUrl) {

String str = "";

StringBuffer buffer = new StringBuffer();

String uuidFilePath = UUID.randomUUID().toString() +".html";

try {

/*URL url = new URL(SERVICE_PATH+SAVEHTMLPATH);

HttpURLConnection httpUrl = (HttpURLConnection)url.openConnection();

InputStream is = httpUrl.getInputStream();

BufferedReader br = new BufferedReader(new InputStreamReader(is,"utf-8"));

String line;

while ((line = br.readLine()) != null) {

buffer.append(line+"\n");

}

is.close();

br.close();*/

File file = new File(TEMPLATE_PATH);

if (file.isFile() && file.exists()) {

InputStreamReader read = new InputStreamReader(new FileInputStream(file), "utf-8");

BufferedReader bufferedReader = new BufferedReader(read);

String line = null;

while ((line = bufferedReader.readLine()) != null) {

System.out.println(line);

buffer.append(line+"\n");

}

bufferedReader.close();

}else{

System.out.println("system erro");

}

str = buffer.toString().replaceAll("###imageUrl###", IMAGEPATH+imageUrl);

String saveHtmlFile = FILEPATH + uuidFilePath;

BufferedWriter bufferedWriter = new BufferedWriter(

new OutputStreamWriter(new FileOutputStream(saveHtmlFile), "UTF-8"));

bufferedWriter.write(str);

bufferedWriter.newLine();// 换行

/*

* * 刷新该流的缓冲。 关键的一行代码。如果没有加这行代码。数据只是保存在缓冲区中。没有写进文件。 加了这行才能将数据写入目的地。

* *

*/

bufferedWriter.flush();

bufferedWriter.close();

} catch (IOException e) {

e.printStackTrace();

}

return APIUtil.toMap(HttpStatus.SUCCESS.getValue(), true, RETURNPATH+uuidFilePath);

}

8a22f148b857bfb9fb39cc82b13c5edb.gif

37c2cd04d2e10d90bf8ba22467e025d6.gif

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.net.HttpURLConnection;

import java.net.URL;

public class MakeHtml {

public static boolean JspToHtmlFile(String filePath, String saveHtmlFile) {

String str = "";

StringBuffer buffer = new StringBuffer();

/*try {

String tempStr = "";

InputStreamReader isr = new InputStreamReader(new FileInputStream(filePath), "UTF-8");

BufferedReader br = new BufferedReader(isr);

while ((tempStr = br.readLine()) != null){

str = str + tempStr +"\n";

}

} catch (IOException e) {

e.printStackTrace();

return false;

}*/

try {

URL url = new URL(filePath);

HttpURLConnection httpUrl = (HttpURLConnection)url.openConnection();

InputStream is = httpUrl.getInputStream();

BufferedReader br = new BufferedReader(new InputStreamReader(is,"utf-8"));

StringBuilder sb = new StringBuilder();

String line;

while ((line = br.readLine()) != null) {

buffer.append(line+"\n");

}

is.close();

br.close();

} catch (Exception e) {

}

try {

str = buffer.toString().replaceAll("###imageUrl###","http://img.zcool.cn/community/0142135541fe180000019ae9b8cf86.jpg@1280w_1l_2o_100sh.png");

//必须设置编码格式不然会出现乱码

BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(saveHtmlFile),"UTF-8"));

bufferedWriter.write(str);

bufferedWriter.newLine();//换行

bufferedWriter.flush();

bufferedWriter.close();

} catch (Exception e) {

e.printStackTrace();

return false;

}

return true;

}

public static void main(String[] args) {

long begin = System.currentTimeMillis();

String url = "http://xxx/banner/modelHtml.html";// 模板文件地址

String savepath = "d:/" + begin + ".html";// 生成文件地址

JspToHtmlFile(url, savepath);

System.out.println("用时:" + (System.currentTimeMillis() - begin) + "ms");

}

}

4bb42a931247472025b669a76ab169d9.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值