• Android SDK的docs访问速度很慢(新)


    #设置环境变量

    名称:ANDROID_SDK_HOME

    值:我的为-->E:androidandroid-sdk

    #代码编译及运行

    1.把下面的代码保存为:AndroidDocRepair.java

    2.javac AndroidDocRepair.java

    3.java AndroidDocRepair

    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.Map;  
    import java.util.UUID;   
    
    public class AndroidDocRepair {  
        private static final String ANDROID_SDK_HOME = "ANDROID_SDK_HOME";  
        private static final String TAG = "<script src="http://www.google.com/jsapi" type="text/javascript"></script>";  
        private static final String TAG2 = "<link rel="stylesheet"";
        private static final String TAG3 = "href="http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic,bold" title="roboto">";
        private static String androidSDKHome;  
     
        public static void main(String[] args) {  
            Map<String, String> map = System.getenv();  
            androidSDKHome = map.get(ANDROID_SDK_HOME);  
            if (androidSDKHome != null) {  
                System.out.println("Detected the Android SDK Installation path:" 
                        + androidSDKHome);  
                File docs = new File(androidSDKHome + "\docs");  
    
                System.out.println("It will take several minutes, please wait...");  
                traverse(docs);  
                System.out  
                        .println("Operation Down!!! Now you can visit Android Doc without waiting...");  
            } else {  
                System.out  
                        .println("Please configure the Android SDK Environment variable (ANDROID_SDK_HOME)!");  
            }  
        }  
     
        /**  
         * 遍历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)||buffer.trim().equalsIgnoreCase(TAG2)||buffer.trim().equalsIgnoreCase(TAG3)) {  
                                        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 + "-->";  
                    }
                    if (buffer.trim().equalsIgnoreCase(TAG2)) {  
                        buffer = "<!--" + TAG2;  
                    }
                    if (buffer.trim().equalsIgnoreCase(TAG3)) {  
                        buffer = TAG3 + "-->";  
                    }
                    
                    writer.write(buffer + "
    ");  
                    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;  
        }   
    } 
  • 相关阅读:
    Django REST framework (DRF)框架入门之权限【五】
    Django REST framework (DRF)框架入门之视图【四】
    Django REST framework (DRF)框架入门之视图【三】
    restFul接口设计规范
    Django REST framework (DRF)框架入门之序列化---反序列化【二】
    Django REST framework (DRF)框架入门之序列化【一】
    Vue自动化工具(Vue-cli)基础3
    Vue.js 基础2
    Vue.js 基础1
    Django 下载功能中文文件名问题
  • 原文地址:https://www.cnblogs.com/scarecrow-blog/p/3593810.html
Copyright © 2020-2023  润新知