zoukankan      html  css  js  c++  java
  • android doc文档打开太慢?从此不会了

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileFilter;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.UUID;
    
    /**
     *  @author hutuanle
     *    doc文档太慢? 把这个类复制为java文件,编译运行即可;
     *    只要修改doc_path为你使用的sdk下的doc路径即可
     *    比如我的doc路径为doc_path = "D:\\android_tools\\android-sdk_r20.0.3-windows\\android-sdk-windows\\docs"
     *    我是修改下了别人大牛的代码 去掉了 ANDROID_SDK_HOME配置的繁琐, 因为有时候配置无效;
     */
    public class AndroidDoc {
    
        private static final String TAG = "<script src=\"http://www.google.com/jsapi\" type=\"text/javascript\"></script>";
        //修改下边这个doc_path为自己使用的sdk doc路径
        private static String doc_path = "D:\\android_tools\\android-sdk_r20.0.3-windows\\android-sdk-windows\\docs";
    
        public static void main(String[] args) {
            File docs = new File(doc_path);
            System.out.println("It will take several minutes, please wait...");
            traverse(docs);
            System.out.println("it is done... you can open the index.html faster!");
        }
    
        /**
         * 遍历Android SDK安装目录下的docs目录
         * 
         * @param dir
         */
        private static void traverse(File dir) {
            if (dir.isDirectory()) {
                File[] files = dir.listFiles(new FileFilter() {
    
                    @Override
                    public boolean accept(File file) {
                        if (file.isFile() && file.getName().endsWith(".html")) {
                            BufferedReader reader = null;
                            try {
                                reader = new BufferedReader(new FileReader(file));
                                String buffer;
                                while ((buffer = reader.readLine()) != null) {
                                    if (buffer.trim().equalsIgnoreCase(TAG)) {
                                        return true;
                                    }
                                }
                            } catch (Exception e) {
                                e.printStackTrace();
                            } finally {
                                try {
                                    reader.close();
                                } catch (IOException e) {
                                    e.printStackTrace();
                                }
                            }
                        } else if (file.isDirectory()) {
                            return true;
                        }
                        return false;
                    }
                });
                for (File file : files) {
                    if (file.isDirectory()) {
                        System.out.println("Scanning Folder:"
                                + file.getAbsolutePath());
                        traverse(file);
                    } else {
                        doChange(file);
                    }
                }
            }
        }
    
        /**
         * 注释html中的某行Javascript代码
         * 
         * @param file
         * @return
         */
        private static boolean doChange(File file) {
            System.out.println("Extracting File:" + file.getAbsolutePath() + "...");
            String desPath = file.getParent() + "\\" + UUID.randomUUID().toString()
                    + ".html";
            File des = new File(desPath);
            BufferedReader reader = null;
            BufferedWriter writer = null;
            try {
                des.createNewFile();
                reader = new BufferedReader(new FileReader(file));
                writer = new BufferedWriter(new FileWriter(des));
                String buffer;
                while ((buffer = reader.readLine()) != null) {
                    if (buffer.trim().equalsIgnoreCase(TAG)) {
                        buffer = "<!--" + TAG + "-->";
                    }
                    writer.write(buffer + "\n");
                    writer.flush();
                }
                return true;
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    reader.close();
                    writer.close();
                    file.delete();
                    des.renameTo(file);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return false;
        }
    
    }
  • 相关阅读:
    20175314 《Java程序设计》第六周学习总结
    20175314 结队编程项目——四则运算第一周
    20175314 《Java程序设计》迭代和JDB
    20175314 实验一 Java开发环境的熟悉
    20175314 《Java程序设计》第五周学习总结
    20175314 《Java程序设计》第四周学习总结
    20175314 《Java程序设计》第三周学习总结
    20175314 《Java程序设计》第二周学习总结
    20175314 《Java程序设计》第一周学习总结
    多态的成员特点
  • 原文地址:https://www.cnblogs.com/qchy/p/2984720.html
Copyright © 2011-2022 走看看