Andoid java文件中的Log检查工具
AndroidLogChecker
由于发布软件版本的时候我们需要把Log注释掉,此工具可以检查java类中的Log所在行以及是否已经注释。
Fork me on Github
package com.leo.kang.tools;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class AndroidLogChecker {
static List<File> fileList;
public static void main(String[] args) {
fileList = new ArrayList<File>();
// 递归显示D:test\\src下所有文件夹及其中文件
File root = new File("D:test\\src");
try {
getAllFiles(root);
for (File file : fileList) {
readFileByLine(file);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* Get all files
*
* @author: yi.kang
* @date: 2014年7月31日 下午8:05:25
* @param dir
* @throws Exception
*/
final static void getAllFiles(File dir) throws Exception {
File[] fs = dir.listFiles();
if (fileList == null) {
fileList = new ArrayList<File>();
}
String path = "";
for (int i = 0; i < fs.length; i++) {
path = fs[i].getAbsolutePath();
//
if (!fs[i].isDirectory() && path.contains(".java")
&& path.substring(path.lastIndexOf(".")).contains("java")) {
fileList.add(fs[i]);
}
if (fs[i].isDirectory()) {
try {
getAllFiles(fs[i]);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/**
* Read file line by line
*
* @author: yi.kang
* @date: 2014年7月31日 下午8:06:20
* @param file
*/
public static void readFileByLine(File file) {
try {
// read file content from file
// StringBuffer sb = new StringBuffer("");
String fileName = file.getAbsolutePath();
FileReader reader = new FileReader(fileName);
BufferedReader br = new BufferedReader(reader);
String str = null;
int line = 0;
while ((str = br.readLine()) != null) {
line++;
if (str.contains("Log.i(") || str.contains("Log.d(")
|| str.contains("Log.w(") || str.contains("Log.v(")
|| str.contains("Log.e(")) {
// sb.append(fileName.substring(fileName.lastIndexOf("\\") +
// 1)
// + " line " + line + " " + str.trim() + "/n");
System.out.println(fileName.substring(fileName
.lastIndexOf("\\") + 1)
+ " line "
+ line
+ " "
+ str.trim().replaceAll("\\s", ""));
}
}
br.close();
reader.close();
// write string to file
// FileWriter writer = new FileWriter("c://test2.txt");
// BufferedWriter bw = new BufferedWriter(writer);
// bw.write(sb.toString());
// bw.close();
// writer.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}