java中使用String的replace方法替换html模板保存文件
在我们的D盘下有这样一个html模板,现在我们要做的就是解析news.template文件,从数据库中提取数据将数据添加到指定的模板位置上
<head>
<title>{title}</title>
</head>
<body>
<table align="center" width="" border="">
<tr>
<td width="10%"><b>标签:</b></td>
<td>{title}</td>
</tr>
<tr>
<td width="10%"><b>作者:</b></td>
<td>{author}</td>
</tr>
<tr>
<td width="10%"><b>时间:</b></td>
<td>{createTime}</td>
</tr>
<tr>
<td width="10%"><b>内容:</b></td>
<td>{content}</td>
</tr>
</table>
</body>
news.template
接下来使用IO流的InputStream将该文件读取到内存中
//读取HTML模板文件new.template
public String readFile(String path) throws IOException{
InputStream is=null;
String result="";
try {
@SuppressWarnings("unused")
int data=;
byte[] by =new byte[];
is = new FileInputStream(path);
while((data=is.read(by))!=-){
//result+=(char)data;
//result=new String(data);
result=new String(by,,by.length);
}
} catch (FileNotFoundException e) {
System.out.println("未找到new.template文件!");
e.printStackTrace();
}
finally{
System.out.println("创建成功!");
is.close();
}
//return result.toString();
return result;
}
String readFile(String path) throws IOException
编写方法toHTml() 替换模板文件,为每条新闻创建一个HTML文件来显示其信息
//读取数据库表,获取新闻列表信息(在此不做讲解)
List<News> list = dao.allInfo();
//编写方法 将从数据库中读取到的数据替换掉news.template文件中的占位符"{}"
String template= fileio.readFile("D:\\news.template"); //替换模板文件,为每条新闻创建一个HTML文件来显示其信息
for (int i = 0; i < list.size(); i++) {
//获取一条新闻信息
News news=list.get(i);
//使用该条新闻信息替换对应占位符
String replacetr = new String();
replacetr=template;
//replace(char oldChar, char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的
replacetr=replacetr.replace("{title}",news.getTitle());
replacetr=replacetr.replace("{author}",news.getAuthor());
replacetr=replacetr.replace("{createTime}",news.getDatetime().toString());
replacetr=replacetr.replace("{content}",news.getContent());
//为该条新闻生成HTML文件
String filepath="D:\\dbtohtml\\new"+i+".html"; fileio.writeFile(filepath,replacetr);
toHtml() throws SQLException, IOException
最终结果如下
java中使用String的replace方法替换html模板保存文件的更多相关文章
- java中数组有没有length()方法?string没有lenght()方法?
java中数组有没有length()方法,求数组的长度可以使用数组的length属性. int[] arr={1,2,3,4,5}; int length=arr.length;//求数组的长度 -- ...
- Java中的String和StringBuffer
在任何编程语言中,字符串都是我们编写程序时不可避免要用到的常用的数据类型之一. 对于Java初学者而言,当谈到String和StringBuffer的区别时,通常都会有些困惑. 而要弄清楚两者之间的区 ...
- 【翻译】为什么Java中的String不可变
笔主前言: 众所周知,String是Java的JDK中最重要的基础类之一,在笔主心中的地位已经等同于int.boolean等基础数据类型,是超越了一般Object引用类型的高端大气上档次的存在. 但是 ...
- Java中的String为什么是不可变的?
转载:http://blog.csdn.net/zhangjg_blog/article/details/18319521 什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那 ...
- Java基础知识强化101:Java 中的 String对象真的不可变吗 ?
1. 什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对 ...
- Java中字符串的一些常见方法
1.Java中字符串的一些常见方法 /** * */ package com.you.model; /** * @author Administrator * @date 2014-02-24 */ ...
- JavaScript -- 时光流逝(三):js中的 String 对象的方法
JavaScript -- 知识点回顾篇(三):js中的 String 对象的方法 (1) anchor(): 创建 HTML 锚. <script type="text/javasc ...
- Java中的String为什么是不可变的? — String源码分析
原文地址:http://www.importnew.com/16817.html 什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为 ...
- 【转】Java中的String为什么是不可变的? -- String源码分析
什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的.不 ...
随机推荐
- App后台开发运维和架构实践学习总结(3)——RestFul架构下API接口设计注意点
1. 争取相容性和统一性 这里就要求让API设计得是可预测的.按照这种方式写出所有接口和接口所需要的参数.现在就要确保命名是一致的,接口所需的参数顺序也是一致的.你现在应该有products,orde ...
- 一位ACMer过来人的心得
http://blog.csdn.net/acm_cxlove/article/details/8079348
- D. Palindromic characteristics
time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standa ...
- [poj2505]A multiplication game_博弈论
A mutiplication game poj-2505 题目大意:给定一个数n和p,两个选手每次可以将p乘上[2,9].最先使得p大于n的选手胜利. 注释:$1\le n\le 429496729 ...
- 从理论到实践,全方位认识DNS(实践篇)
在理论篇中,我们基本了解了DNS的整个协议原理,但是可能还会有着下面的疑问: 为什么我想申请的域名都没了? DNS 域名还要备案,这是为什么啊? 如何将刚申请的域名绑定到自己的网站呢? 怎么才能看到那 ...
- android 日历
[1].[代码] [Java]代码 跳至 [1] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...
- HDFS学习笔记(2)hdfs_shell & JavaAPI
FileSystem shell指令 官方文档: HDFS Commands Reference appendToFile cat checksum chgrp chmod chown copyFro ...
- webservice Connection timed out
webservice Connection timed out,当发生webservice的链接超时错误时.我想原因无非就是webclient到webservice之间的链接通路发生了异常,那么该怎样 ...
- LeetCode 7. Reverse Integer (倒转数字)
Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ...
- The bytes/str dichotomy in Python 3
The bytes/str dichotomy in Python 3 - Eli Bendersky's website https://eli.thegreenplace.net/2012/01/ ...