Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 297|回复: 0

三种方法解决android帮助文档打开慢

[复制链接]
  • TA的每日心情
    奋斗
    2024-4-6 11:05
  • 签到天数: 748 天

    [LV.9]以坛为家II

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    705612
    发表于 2021-5-13 02:39:14 | 显示全部楼层 |阅读模式

    经查是因为本地文档中的网页有如下两段js代码会联网加载信息,将其注释掉后就好了

     

    <link rel="stylesheet"
    href="http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic,bold" title="roboto">

     

     <script src="http://www.google.com/jsapi" type="text/javascript"></script>

    用以下java代码就可以批量注释

    /*
     * 去掉Android文档中需要联网的javascript代码
     */
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class FormatDoc {
        public static int j=1;
        /**
         * @param args
         */
        public static void main(String[] args) {
            
            File file = new File("D:/android/android-sdk-windows/docs/");
            searchDirectory(file, 0);
            System.out.println("OVER");
        }
    
        public static void searchDirectory(File f, int depth) {
            if (!f.isDirectory()) {
                String fileName = f.getName();
                if (fileName.matches(".*.{1}html")) {
                    String src= "<(link rel)[=]\"(stylesheet)\"\n(href)[=]\"(http)://(fonts.googleapis.com/css)[?](family)[=](Roboto)[:](regular,medium,thin,italic,mediumitalic,bold)\"( title)[=]\"roboto\">";
                    String src1 = "<script src=\"http://www.google.com/jsapi\" type=\"text/javascript\"></script>";
                    String dst = "";
                    //如果是html文件则注释掉其中的特定javascript代码
                    annotation(f, src, dst);
                    annotation(f, src1, dst);
                }
            } else {
                File[] fs = f.listFiles();
                depth++;
                for (int i = 0; i < fs.length; ++i) {
                    File file = fs;
                    searchDirectory(file, depth);
                }
            }
        }
    
        /*
         * f 将要修改其中特定内容的文件 
         * src 将被替换的内容 
         * dst 将被替换层的内容
         */
        public static void annotation(File f, String src, String dst) {
            String content = FormatDoc.read(f);
            content = content.replaceFirst(src, dst);
            int ll=content.lastIndexOf(src);
            System.out.println(ll);
            FormatDoc.write(content, f);
            System.out.println(j++);
            return;
    
        }
    
        public static String read(File src) {
            StringBuffer res = new StringBuffer();
            String line = null;
            try {
                BufferedReader reader = new BufferedReader(new FileReader(src));
                int i=0;
                while ((line = reader.readLine()) != null) {
                    if (i!=0) {
                        res.append('\n');
                    }
                    res.append(line);
                    i++;
                }
                reader.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return res.toString();
        }
    
        public static boolean write(String cont, File dist) {
            try {
                BufferedWriter writer = new BufferedWriter(new FileWriter(dist));
                writer.write(cont);
                writer.flush();
                writer.close();
                return true;
            } catch (IOException e) {
                e.printStackTrace();
                return false;
            }
        }
    }

     

    网上有种方法是通过shell删除那行js代码,非常简洁方便,比上面的的java方便100倍,不过不能删掉第一段js代码

    find . -name "*.html"|xargs grep -l "jsapi"|xargs sed -i '/jsapi/d'

    还有的方法是断网,或者用IE,firefox脱机浏览

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-19 04:40 , Processed in 0.059659 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表