1.代码部分

  1. import org.junit.Test;
  2. import org.junit.runner.RunWith;
  3. import org.springframework.boot.test.context.SpringBootTest;
  4. import org.springframework.test.context.junit4.SpringRunner;
  5.  
  6. import java.io.FileInputStream;
  7. import java.io.FileOutputStream;
  8.  
  9. @RunWith(SpringRunner.class)
  10. @SpringBootTest
  11. public class PdfApplicationTests {
  12.  
  13. @Test
  14. public void contextLoads() {
  15. String filePath = "D:\\WorkSpace\\IdeaProjects\\pdf\\src\\main\\resources\\templates\\index.html";
  16. String text ="哈哈";
  17. String disrPath = "D:\\WorkSpace\\IdeaProjects\\pdf\\src\\main\\resources\\templates";
  18. String fileName = "t";
  19. MakeHtml(filePath,text,disrPath,fileName);
  20. }
  21. /**
  22. * @Title: MakeHtml
  23. * @Description: 创建html
  24. * @param filePath 设定模板文件
  25. * @param text 添加的内容
  26. * @param disrPath 生成html的存放路径
  27. * @param fileName 生成html名字
  28. * @return void 返回类型
  29. * @throws
  30. */
  31. public static void MakeHtml(String filePath,String text,String disrPath,String fileName ){
  32. try {
  33. String title = "<h2>"+text+"</h2>";
  34. System.out.print(filePath);
  35. String templateContent = "";
  36. FileInputStream fileinputstream = new FileInputStream(filePath);// 读取模板文件
  37. int lenght = fileinputstream.available();
  38. byte bytes[] = new byte[lenght];
  39. fileinputstream.read(bytes);
  40. fileinputstream.close();
  41. templateContent = new String(bytes);
  42. System.out.print(templateContent);
  43. //把模板页面上的 ###text### 替换成 title 里的内容
  44. templateContent = templateContent.replaceAll("###text###", title);
  45. System.out.print(templateContent);
  46.  
  47. String fileame = fileName + ".html";
  48. fileame = disrPath+"/" + fileame;// 生成的html文件保存路径。
  49. FileOutputStream fileoutputstream = new FileOutputStream(fileame);// 建立文件输出流
  50. System.out.print("文件输出路径:");
  51. System.out.print(fileame);
  52. byte tag_bytes[] = templateContent.getBytes();
  53. fileoutputstream.write(tag_bytes);
  54. fileoutputstream.close();
  55. } catch (Exception e) {
  56. System.out.print(e.toString());
  57. }
  58. }
  59. }
  60.  

2.模板页

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8"/>
  5. <title>Title</title>
  6. </head>
  7. </head>
  8. <body>
  9. ###text###
  10. </body>
  11. </html>

3.生成的html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8"/>
  5. <title>Title</title>
  6. </head>
  7. </head>
  8. <body>
  9. <h2>哈哈</h2>
  10. </body>
  11. </html>

java 根据html模板生成html文件的更多相关文章

  1. Java根据Freemarker模板生成Word文件

    1.  准备模板 模板 + 数据 = 模型 1.将准备好的Word模板文件另存为.xml文件(PS:建议使用WPS来创建Word文件,不建议用Office) 2.将.xml文件重命名为.ftl文件 3 ...

  2. java通过FreeMarker模板生成Excel文件之.ftl模板制作

    关于怎么通过freemarker模板生成excel的文章很多,关键点在于怎么制作模板文件.ftl 网上的办法是: (1)把Excel模板的格式调好,另存为xml文件 (2)新建一个.ftl文件,把xm ...

  3. 利用html模板生成Word文件(服务器端不需要安装Word)

    利用html模板生成Word文件(服务器端不需要安装Word) 由于管理的原因,不能在服务器上安装Office相关组件,所以只能采用客户端读取Html模板,后台对模板中标记的字段数据替换并返回给客户端 ...

  4. 根据PDF模板生成PDF文件(基于iTextSharp)

    根据PDF模板生成PDF文件,这里主要借助iTextSharp工具来完成.场景是这样的,假如要做一个电子协议,用过通过在线填写表单数据,然后系统根据用户填写的数据,生成电子档的协议.原理很简单,但是每 ...

  5. 使用word模板生成pdf文件

    使用word模板生成pdf文件 源码:UserWord

  6. Java根据html模板创建 html文件

    1.创建html的java代码 package com.tydic.eshop.util; import java.io.FileInputStream; import java.io.FileOut ...

  7. JAVA Freemarker + Word 模板 生成 Word 文档 (普通的变量替换,数据的循环,表格数据的循环,以及图片的东替换)

    1,最近有个需求,动态生成 Word 文当并供前端下载,网上找了一下,发现基本都是用 word 生成 xml 然后用模板替换变量的方式 1.1,这种方式虽然可行,但是生成的 xml 是在是太乱了,整理 ...

  8. JAVA中使用freemark生成自定义文件(json、excel、yaml、txt)

    原文:http://blog.csdn.net/jinzhencs/article/details/51461776 场景:在我们工作中,有时需要生成一些文件,可能它不是一种标准的格式,比如JSON. ...

  9. java根据freeMark模板生成内容

    根据ftl模板生成文件内容可以用来生成代码模板,如下所示: aa.ftl name : ${name} age : ${age} aa.java package mall_tools; import ...

随机推荐

  1. No compiler is provided in this environment. Perhaps you are running on a JR

    maven编译项目时出错,提示信息如下: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3 ...

  2. 洛谷题解P4314CPU监控--线段树

    题目链接 https://www.luogu.org/problemnew/show/P4314 https://www.lydsy.com/JudgeOnline/problem.php?id=30 ...

  3. luogu P4428 [BJOI2018]二进制

    luogu 先考虑怎样的二进制串才会被3整除.可以发现如果二进制位第\(0,2,4...2n\)位如果为\(1\),那么在模3意义下为1,如果二进制位第\(1,3,5...2n+1\)位如果为\(1\ ...

  4. Laravel 实现指定用户下的设备分页(与查询指定分类下的文章原理相同)

    <?php //控制器 namespace App\Http\Controllers\Api\User; use App\Http\Controllers\Controller; use Ill ...

  5. 如何对Win10电脑文件夹选项进行设置?

    文件夹选项是Windows系统中非常重要的一个功能,在这里能对电脑内的文件及文件夹进行各种各样的设置以及操作.在Windows系统升级到Win10版本后,许多界面都发生了变化,文件夹选项也是如此,打开 ...

  6. javascript 元编程之 method_missing

    javascript 元编程之 method_missing 引言 要说元编程 ruby 中技巧太多了,今天来写的这个技术也来自于 ruby 中的灵感. method_missing 这个在 ruby ...

  7. 网络基础篇之HDLC、PPP(原理)

    一.广域网传输 之前讲解的都是关于局域网的数据传输,这次讲解的是广域网的传输. 广域网简称WAN,是一种跨越超大的.地域性的计算机网络集合.通常跨省.市.甚至一个国家.广域网包括很多子网,子网可以是局 ...

  8. Cubase如何进行音频移调

  9. 牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)

    链接:https://ac.nowcoder.com/acm/contest/392/D 来源:牛客网 月月给华华出题 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K, ...

  10. 【AGC003 E】Sequential operations on Sequence

    Description 你有一个长度为 \(n\) 的序列,第 \(i\) 项为 \(i\). 有 \(m\) 次操作,每次操作给定一个 \(x\),你需要将序列无限循环后截取前 \(x\) 项,作为 ...