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

java代码转HTML(源码转换)

2017-08-27 21:51 330 查看
/*为了源文件能正常显示,我们必须为文本加上适当的标签。对特殊的符号进行转义处理。

常用的有:

HTML 需要转义的实体:

&     --->&

空格         ---> 

<     ---><

>     --->>

"     --->  "

此外,根据源码的特点,可以把 TAB 转为4个空格来显示。

TAB   --->    

为了显示为换行,需要在行尾加<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;

}

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