java代码转HTML(源码转换)

/*为了源文件能正常显示,我们必须为文本加上适当的标签。对特殊的符号进行转义处理。
常用的有:
HTML 需要转义的实体:
&     --->&
空格         ---> 
<     ---><
>     --->>
"     --->  "
此外,根据源码的特点,可以把 TAB 转为4个空格来显示。
TAB   --->&nbsp;&nbsp;&nbsp;&nbsp;
为了显示为换行,需要在行尾加<br/>标签。
为了显示美观,对关键字加粗显示,即在关键字左右加<b>标签。比如:
<b>public</b>
对单行注释文本用绿色显示,可以使用<font>标签,形如:
<font color=green>//这是我的单行注释!</font>
注意:如果“//”出现在字符串中,则注意区分,不要错误地变为绿色。
不考虑多行注释的问题  ....   *//** .... *//*


你的任务是:编写程序,把给定的源文件转化为相应的html表达。
【输入、输出格式要求】
与你的程序同一目录下,存有源文件 a.txt,其中存有标准的java源文件。要求编写程序把它转化为b.html。
例如:目前的 a.txt 文件与 b.html 文件就是对应的。可以用记事本打开b.html查看转换后的内容。

用浏览器打开b.html则可以看到显示的效果.*/

--------------------------------------------------------------------------code---------------------------------------------------------------

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.PrintWriter;

/*java源码转换成HTML*/
public class AL14 {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new FileReader("G:/a.txt"));
		PrintWriter pw = new PrintWriter("G:/b.html");
		pw.write("<html><body>\n");
		String str = null;
		while ((str = br.readLine()) != null) {
			pw.write(process(str));

		}
		pw.write("</body></html>");
		br.close();
		pw.close();
		System.out.println("ok");

	}

	public static String process(String s) {
		StringBuilder sb = new StringBuilder();
		char[] ch = new char[50];
		ch = s.toCharArray();
		for (int i = 0; i < ch.length; i++) {
			switch (ch[i]) {
			case '&':
				sb.append("&");
				break;
			case ' ':
				sb.append(" ");
				break;
			case '<':
				sb.append("<");
				break;
			case '>':
				sb.append(">");
				break;
			case '"':
				sb.append(" \" ");
				break;
			case '\t':
				sb.append("    ");
				break;
			default:
				sb.append(ch[i]);
			}
		}
		String string = sb.toString();
		string=string.replaceAll("public", "<b>public</b>");
		string = string.replaceAll("class", "<b>class</b>");
		string = string.replaceAll("static", "<b>static</b>");
		string = string.replaceAll("main", "<b>main</b>");
		string = string.replaceAll("void", "<b>void</b>");
		int n=string.lastIndexOf("//");
		if(n!=-1){
		String temp=string.substring(n);
		string=string.replaceAll(temp, "<font color=green>"+temp+"</font>");
		}
		string+="<br/>\n";
		return string;
		
	}

}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值