Java2HTML改造手记(5)
  
  
接下来就是我们的重头戏了.让这个参数起作用. 
在java2html.java main方法中最后调用了 
java2html.buildJava2HTML(); 
那么我们就从这里继续吧. 
  
    public boolean buildJava2HTML() 
        throws Exception 
    { 
        O01049(); 
        O01050 o01050 = new O01050(O01044); 
        if(O01043 == null) 
        { 
            setJavaDirectorySource(new String[] { 
                "." 
            }); 
        } 
        O01052 o01052 = new O01052(O01043, O01045, O01040, O01041, O01012, O01014, o01050); 
        if(!O01042) 
        { 
            O01052.O01054(O01045, o01052, O01002); 
        } 
        o01052.O01055(); 
        return true; 
    } 
先看看O01049()作了什么: 
    private void O01049() 
        throws IOException 
    { 
        (new File(O01045)).mkdirs(); 
        File file = null; 
        FileWriter filewriter = null; 
        file = new File(O01045 + File.separator + "stylesheet.css"); 
        filewriter = new FileWriter(file); 
        filewriter.write(O07.O0998()); 
        filewriter.close(); 
        System.out.println("Created " + file.getAbsolutePath()); 
        if(!O01042) 
        { 
            File file1 = new File(O01045 + File.separator + "front.html"); 
            FileWriter filewriter1 = new FileWriter(file1); 
        filewriter1.write(O07.O0999()); 
            filewriter1.close(); 
            System.out.println("Created " + file1.getAbsolutePath()); 
            file1 = new File(O01045 + File.separator + "index.html"); 
            filewriter1 = new FileWriter(file1); 
            filewriter1.write(O07.O01001(O01002)); 
            filewriter1.close(); 
        } 
    } 
原来这里生成了几个基本的页面和样式表.而所需的资源是从O07中读取出来的,看来这个文件是重点了.不过这个方法也要修改一下,在输出html文件的时候应该使用用户指定的属性,既然资源是从O07出来的,那么给O07也添加一个encoding属性吧. 
//O07.java 
  
static String s2; 
    public static void setEncoding(String str){ 
    s2=str; 
    } 
  
//java2html.java 
    private void O01049() 
        throws IOException 
    { 
        (new File(O01045)).mkdirs(); 
        File file = null; 
        FileWriter filewriter = null; 
        file = new File(O01045 + File.separator + "stylesheet.css"); 
        filewriter = new FileWriter(file); 
        //modify 
        filewriter.write(new String(O07.O0998().getBytes(encoding))); 
        filewriter.close(); 
        System.out.println("Created " + file.getAbsolutePath()); 
        if(!O01042) 
        { 
            //写了front.html文件,资源是从O07读取的.原来O07是一个资源文件 
//那么我们也给O07添加一个Encoding属性吧. 
            O07.setEncoding(encoding); 
            File file1 = new File(O01045 + File.separator + "front.html"); 
            FileWriter filewriter1 = new FileWriter(file1); 
            //编码处理 
            filewriter1.write(new String(O07.O0999().getBytes(encoding))); 
            filewriter1.close(); 
            System.out.println("Created " + file1.getAbsolutePath()); 
            file1 = new File(O01045 + File.separator + "index.html"); 
            filewriter1 = new FileWriter(file1); 
            //编码处理 
            filewriter1.write(new String((O07.O01001(O01002)).getBytes(encoding))); 
            filewriter1.close(); 
        } 
    } 
  
让我们回到buildjava2html方法中,看到: 
O01052 o01052 = new O01052(O01043, O01045, O01040, O01041, O01012, O01014, o01050); 
原来用户参数都是在这里传送进去的,那么把我们的参数也送进取吧. 
O01052 o01052 = new O01052(O01043, O01045, O01040, O01041, O01012, O01014, o01050,encoding); 
然后在O01052中添加: 
private static String encoding; 
并把它的构造函数修改一下: 
public O01052(String as[], String s, int i, int j, boolean flag, boolean flag1, O01050 o01050,String s1) 
    { 
        O0106 = new O040(System.in); 
        for(int k = 0; k < as.length; k++) 
        { 
            O01097(as[k]); 
        } 
  
        O01045 = s; 
        O01040 = i; 
        O01041 = j; 
        O01012 = flag; 
        O01014 = flag1; 
        O01051 = o01050; 
        encoding=s1; 
    } 
  
欲知后事如何,且听下回分解.  
 
  |