Java2HTML改造手记(5) (转)[@more@]Java2HTML改造手记(5)

XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

接下来就是我们的重头戏了.让这个参数起作用.

在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;

}

欲知后事如何,且听下回分解.