源码变换 超文本标记语言(即HTML),是用于描述网页文档的一种标记语言。 HTML通过文本来描述文档显示出来应该具有的“样子”。它主要通过标签来定义对象的显示属性或行为。
来源:互联网 发布:添加网络打印机 不显示 编辑:程序博客网 时间:2024/05/29 19:13
/*源码变换 * 超文本标记语言(即HTML),是用于描述网页文档的一种标记语言。 HTML通过文本来描述文档显示出来应该具有的“样子”。它主要通过标签来定义对象的显示属性或行为。 如果把java的源文件直接拷贝到HTML文档中,用浏览器直接打开,会发现本来整齐有序的源文件变成了一团遭。 这是因为,文本中的许多回车和空格都被忽略了。而有些符号在html中有特殊的含义,引起了更复杂的局面。 为了源文件能正常显示,我们必须为文本加上适当的标签。对特殊的符号进行转义处理。 常用的有: 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则可以看到显示的效果。 注意:实际评测的时候使用的a.txt与示例是不同的。 */import java.io.BufferedReader;import java.io.FileReader;import java.io.PrintWriter;public class Demo03 {public static String process(String s){StringBuffer sb = new StringBuffer();char[] c = s.toCharArray();for(int i=0;i<c.length;i++){switch(c[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(c[i]);}}String t = sb.toString();t = t.replaceAll("public", "<b>public</b>");t = t.replaceAll("class", "<b>class</b>");t = t.replaceAll("static", "<b>static</b>");t = t.replaceAll("void", "<b>void</b>");int n = t.lastIndexOf("//");// 找到最后边的 "//" 位置if(n!=-1){String temp = t.substring(n); //为注释 加绿色t = t.replaceAll(temp, "<font color=green>"+temp+"</font>");}t = t+"<br/>\n";return t;}public static void main(String[] args) throws Exception{// 定义读取内容BufferedReader br = new BufferedReader(new FileReader("a.txt"));// 定义输出内容PrintWriter pw = new PrintWriter("b.html");String s;pw.write("<html><body>\n");while((s=br.readLine())!=null){pw.write(process(s));// 输出内容}pw.write("</body></html>");br.close();pw.close();System.out.println("转换成功");}}
a.txt
// 我的工具类public class MyTool{public static void main(String[] args){int a = 100;int b = 20;if(a>b && true)System.out.println(a);elseSystem.out.println("this! //aaa//kkk"); // 测试注释显示是否正确}}结果:b.html
b.html的源码:
- 源码变换 超文本标记语言(即HTML),是用于描述网页文档的一种标记语言。 HTML通过文本来描述文档显示出来应该具有的“样子”。它主要通过标签来定义对象的显示属性或行为。
- HTML, 超文本标记语言, 描述网页结构
- HTML超文本标记语言常用的一些标签
- HTML超文本标记语言的介绍
- html标签:超文本标记语言
- 【XML开发】(1)通过"文档类型定义(DTD)"来定义XML标记语言
- 超文本标记语言HTML
- 超文本标记语言HTML
- 超文本标记语言--Html
- 超文本标记语言--Html
- html超文本标记语言
- html超文本标记语言
- html 超文本标记语言
- html超文本标记语言
- HTML-超文本标记语言
- HTML标记语言META 标签的奥妙
- html标记语言的常用标签一
- html标记语言的常用标签,表格
- 作业、进程、线程
- WMI TimeWritten time date
- C语言也能干大事第七节(如鹏基础)
- 【leetcode】sqrt(int x)
- 虚拟机中安装win7报错【解决方案】
- 源码变换 超文本标记语言(即HTML),是用于描述网页文档的一种标记语言。 HTML通过文本来描述文档显示出来应该具有的“样子”。它主要通过标签来定义对象的显示属性或行为。
- 13 款开源的全文搜索引擎
- 谈“测试驱动的开发”
- Deep Learning(深度学习)学习笔记整理系列之(五)
- C语言也能干大事第八节(如鹏基础)
- 线性表运用之学生健康管理系统
- 小米手机控制PPT文档、查看进度的那些事
- Android下使用TinyXml读取xml配置文件(Cocos2d-x游戏开发)
- bash 语法 小结