zoukankan      html  css  js  c++  java
  • java中使用String的replace方法替换html模板保存文件

    在我们的D盘下有这样一个html模板,现在我们要做的就是解析news.template文件,从数据库中提取数据将数据添加到指定的模板位置上

     1 <head>
     2     <title>{title}</title>
     3 </head>
     4 <body>
     5     <table align="center" width="95" border="1">
     6         <tr>
     7             <td width="10%"><b>标签:</b></td>
     8             <td>{title}</td>
     9         </tr>
    10         <tr>
    11             <td width="10%"><b>作者:</b></td>
    12             <td>{author}</td>
    13         </tr>
    14         <tr>
    15             <td width="10%"><b>时间:</b></td>
    16             <td>{createTime}</td>
    17         </tr>
    18         <tr>
    19             <td width="10%"><b>内容:</b></td>
    20             <td>{content}</td>
    21         </tr>
    22     </table>
    23 </body>
    news.template

    接下来使用IO流的InputStream将该文件读取到内存中

     1 //读取HTML模板文件new.template
     2     public String readFile(String path) throws IOException{
     3 InputStream is=null;
     4         String result="";
     5         try {
     6             @SuppressWarnings("unused")
     7             int data=0;
     8             byte[] by =new byte[1024];
     9             is = new FileInputStream(path);
    10             while((data=is.read(by))!=-1){
    11                 //result+=(char)data;
    12                 //result=new String(data);
    13                 result=new String(by,0,by.length);
    14             }
    15         } catch (FileNotFoundException e) {
    16             System.out.println("未找到new.template文件!");
    17             e.printStackTrace();
    18         }
    19         finally{
    20             System.out.println("创建成功!");
    21             is.close();
    22         }
    23         //return result.toString();
    24         return result;
    25     }
    String readFile(String path) throws IOException

    编写方法toHTml()   替换模板文件,为每条新闻创建一个HTML文件来显示其信息

     1 //读取数据库表,获取新闻列表信息(在此不做讲解)
     2 List<News> list = dao.allInfo();
     3 //编写方法  将从数据库中读取到的数据替换掉news.template文件中的占位符"{}"
     4 String template= fileio.readFile("D:\news.template");
     5         
     6         //替换模板文件,为每条新闻创建一个HTML文件来显示其信息
     7         for (int i = 0; i < list.size(); i++) {
     8             //获取一条新闻信息
     9             News news=list.get(i);
    10             //使用该条新闻信息替换对应占位符
    11             String replacetr = new String();
    12             replacetr=template;
    13             //replace(char oldChar, char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的
    14             replacetr=replacetr.replace("{title}",news.getTitle());
    15             replacetr=replacetr.replace("{author}",news.getAuthor());
    16             replacetr=replacetr.replace("{createTime}",news.getDatetime().toString());
    17             replacetr=replacetr.replace("{content}",news.getContent());
    18             //为该条新闻生成HTML文件
    19             String filepath="D:\dbtohtml\new"+i+".html";
    20             
    21             fileio.writeFile(filepath,replacetr);
    toHtml() throws SQLException, IOException

    最终结果如下

  • 相关阅读:
    php数组的创建及操作
    继承的几种方式
    js对象的创建与原型总结
    对象的创建
    变量与内存
    js函数的几个特殊点
    正则表达式的几个简单验证
    数组排序sort()
    对象与数组
    js函数动态传参
  • 原文地址:https://www.cnblogs.com/john69-/p/5468412.html
Copyright © 2011-2022 走看看