Java2HTML改造手记(5)

    技术2022-05-11  77

    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;

        }

     

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


    最新回复(0)