附加题 及 示例代码(写HTML文件):根据给定的博客名单,自动生成HTML网页

    收集了学生CSDN博客地址很久了,但一直没来得及整理成贺利坚老师的完美班级网页名册。今天突然想,一共有6个班学生,如果手动写的话,太费事了。我们程序员,就是让费事不费脑的工作自动化,即使是第一次花很多时间也值得。这里有一个很有意思的创新:文本相似性检测算法(见:《数学之美》),以后再和大家聊。

问题

1. 根据学生博客名册(txt文件),自动生成HTML网页文件(html文件)。类名:HtmlBlog

    数据下载:网络121学生名单

    从数据文件中读取相应的文本,然后写成类似下面的html文件,可以复习一下文件读写方式,以及了解HTML文件格式。

<HTML>
<HEAD>
	<TITLE>自动生成名单</TITLE>
</HEAD>
<BODY>
	<a target=_blank target="_blank" href="http://blog.csdn.net/cp_wl">陈鹏</a>
	<a target=_blank target="_blank" href="http://blog.csdn.net/u013898510">林炳权</a>
</BODY>
</HTML>

2. 根据学生博客名册(txt文件),以及 学生博客中的文件名,批量生成同一个作业的学生博文汇总HTML网页文件(html文件)。 类名:HtmlBlogWork

    数据下载:网络121学生名单

    这个更有意思,如根据三个数据: 陈鹏 http://blog.csdn.net/cp_wl 作业 GUI 化的简单签到程序,自动找到相应的网址 http://blog.csdn.net/cp_wl/article/details/21117189。这里涉及到了怎样根据关键词,在网页中查找到相应的字符串,本质上就是一个 字符串查找与匹配算法。


3. 根据学生博客名册(txt文件),自动生成一个随机抽查的学生名册(HTML文件),如班级有31个同学,我们可以每次抽查6-8个学生的作业。分成两步:其一,生成随机抽查名单;其二,生成第2题一样的HTML文件。   非常有意思。类名:HtmlBlogRandomWork


4.. 根据学生博客名册(txt文件),自动生成带相片的HTML网页文件(html文件),见贺利坚老师的博文类名:HtmlPhotoBlog

    数据下载:网络131学生名单,相片文件下载地址:网络131学生相片,博客地址:网络131学生博客地址名单

    从数据文件中读取相应的文本,然后写成类似下面的html文件,可以复习一下文件读写方式,以及了解HTML文件格式、以及相片的整理等。

奖励

1. 作出上述任何一题的同学,在总成绩的基础上增加5分;三个全部做,增加10分。——老师会逐个检查,大家可以在上机时间要老师检查一下自己的工作。

2. 上述问题是一个实际问题,非常有意思,老师都想去实现了。

3. 实现的同学,请把 源码 与 结果 发布到CSDN博客上,博文标题:附加题(写HTML文件)-根据给定的博客名单,自动生成HTML网页

    并把博文网址作为评论回复到此篇博文下面,方便老师检查。


示例代码
1. 根据学生博客名册(txt文件),自动生成HTML网页文件(html文件)。 类名:HtmlBlog
要求新建一个data目录,博客地址名单保存在此data目录中,另外,新生成的文件也保存到此目录中。如下图所示。

运行代码:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

/**
 * 
<HTML>
<HEAD>
	<TITLE>自动生成名单</TITLE>
</HEAD>
<BODY>
	<a target=_blank target="_blank" href="http://blog.csdn.net/cp_wl">陈鹏</a>
	<a target=_blank target="_blank" href="http://blog.csdn.net/u013898510">林炳权</a>
</BODY>
</HTML>
 * @author Administrator
 *
 */



public class HtmlBlog {

	/**
	 * @param args
	 * @throws FileNotFoundException 
	 */
	public static void main(String[] args) throws FileNotFoundException {
		// TODO Auto-generated method stub
		String fileInput = "data/网络121班博客地址名单.txt";
		String fileHtml = "data/wl121.html";
		
		//创建HTML文件
		PrintWriter pw = new PrintWriter(new File(fileHtml));
		//写HTML文件头
		pw.println("<HTML>");
		pw.println("<HEAD>");
		pw.println("	<TITLE>自动生成名单</TITLE>");
		pw.println("</HEAD>");
		pw.println("<BODY>");
		
		Scanner sc = new Scanner(new File(fileInput));
		String strLine = "";
		//过滤掉第一行数据
		if(sc.hasNextLine()){
			strLine = sc.nextLine();
		}
		//读取数据,每行数据格式为:陈鹏	http://blog.csdn.net/cp_wl
		while(sc.hasNextLine()){
			strLine = sc.nextLine();
			String[] strArray = strLine.split("	+");
			//写HTML文件,示例代码:	
			//<a target=_blank target="_blank" href="http://blog.csdn.net/cp_wl">陈鹏</a>
			for(String tmp:strArray){
				System.out.println(tmp);
			}
			pw.println("<a target=_blank target=\"_blank\" href=\""+strArray[1]+"\">"+strArray[0]+"</a>");
					}
		//写HTML文件尾
		/*
		</BODY>
		</HTML>
		*/
		pw.println("</BODY>"+"\n"+"</HTML>");
		sc.close();
		pw.close();	
		
		System.out.println("写HTML文件结束");
	}
}
存在问题:
a)如果博客地址有错,检测不出来,如 “薛伟良 https://blog.csdn.net/u013898977”,实际中该博客地址不存在,需要去掉 https 中的最后一个字母s。
b)生成的网页文件的效果如下,没有进行分行,不美观。






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值