zoukankan      html  css  js  c++  java
  • 源码变换

    package cn.dlpu.lby;
    
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.PrintWriter;
    
    public class Yuanmabianhuan {
    
    	/*
    	 * 源码变换 超文本标记语言(即HTML),是用于描述网页文档的一种标记语言。
    	 * HTML通过文本来描述文档显示出来应该具有的“样子”。它主要通过标签来定义对象的显示属性或行为。
    	 * 如果把java的源文件直接拷贝到HTML文档中,用浏览器直接打开,会发现本来整齐有序的源文件变成了一团遭。
    	 * 这是因为,文本中的许多回车和空格都被忽略了。而有些符号在html中有特殊的含义,引起了更复杂的局面。
    	 * 为了源文件能正常显示,我们必须为文本加上适当的标签。对特殊的符号进行转义处理。 常用的有: HTML 需要转义的实体: & ---> & 空格
    	 * --->   < ---> < > ---> > "     --->  " 此外,根据源码的特点,可以把 TAB 转为4个空格来显示。
    	 * TAB --->      为了显示为换行,需要在行尾加<br/>标签。
    	 * 为了显示美观,对关键字加粗显示,即在关键字左右加<b>标签。比如: <b>public</b>
    	 * 对单行注释文本用绿色显示,可以使用<font>标签,形如: <font color=green>//这是我的单行注释!</font>
    	 * 注意:如果“//”出现在字符串中,则注意区分,不要错误地变为绿色。 不考虑多行注释的问题 /* ....
    	 *//* 或 *//**
    	 * ....
    	 * 
    	 * @throws IOException
    	 */
    	/*
    	 * 你的任务是:编写程序,把给定的源文件转化为相应的html表达。 【输入、输出格式要求】 与你的程序同一目录下,存有源文件
    	 * a.txt,其中存有标准的java源文件。要求编写程序把它转化为b.html。 例如:目前的 a.txt 文件与 b.html
    	 * 文件就是对应的。可以用记事本打开b.html查看转换后的内容。用浏览器打开b.html则可以看到显示的效果。
    	 * 注意:实际评测的时候使用的a.txt与示例是不同的。
    	 */
    
    	public static void main(String[] args) throws Exception {
    		// TODO Auto-generated method stub
    		BufferedReader br = new BufferedReader(new FileReader("D:\\a\\z.txt"));
    		PrintWriter bw = new PrintWriter("D:\\a\\s.html");
    		String s;
    		bw.write("<html><body>\n");
    		while ((s = br.readLine()) != null) {
    			bw.write(process(s));
    		}
    		bw.write("</body></html>");
    		br.close();
    		bw.close();
    		System.out.println("转换成功!");
    	}
    
    	/**
    	 * @param s
    	 * @return
    	 */
    	private static String process(String s) {
    		// TODO Auto-generated method stub
    		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 '\t':
    				sb.append("    ");
    				break;
    			// case '"': sb.append("""); break;
    			default:
    				sb.append(c[i]);
    			}
    		}
    		String str = sb.toString();
    		str = str.replaceAll("public", "<b>public</b>");
    		str = str.replaceAll("void", "<b>void</b>");
    		str = str.replaceAll("static", "<b>static</b>");
    		str = str.replaceAll("class", "<b>class</b>");
    		int n = str.lastIndexOf("//");
    		if (n != -1) {
    			String ss = str.substring(n);
    			ss = "<font color=green>" + ss + "</font>";
    			sb.append(str);
    			sb = sb.replace(n, sb.length(), ss);
    
    		}
    		sb = sb.append("<br>\n");
    		return sb.toString();
    	}
    
    }
    


  • 相关阅读:
    四、oracle 用户管理二
    三、oracle 用户管理一
    二、oracle sql*plus常用命令
    数据库的导入导出
    一:oracle系统包—-dbms_output用法
    数据库分类
    Oracle序列号详解
    Windows 下 java(JDK)的安装和环境变量的配置
    win7安装oracle 10g时发生“程序异常终止。发生内部错误”的提示
    对数据库列的操作
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3138730.html
Copyright © 2011-2022 走看看