您的位置:首页 > Web前端 > HTML

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

2014-03-18 09:44 711 查看
    收集了学生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)生成的网页文件的效果如下,没有进行分行,不美观。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HTML生成 博客名单