您的位置:首页 > 移动开发 > Android开发

android doc文档打开太慢?从此不会了

2013-03-27 15:30 441 查看
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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: