首页 > 编程语言 > 详细

Andoid java文件中的Log检查工具

时间:2014-08-01 19:24:12      阅读:296      评论:0      收藏:0      [点我收藏+]

AndroidLogChecker

由于发布软件版本的时候我们需要把Log注释掉,此工具可以检查java类中的Log所在行以及是否已经注释。

Github: https://github.com/cumtkangyi/AndroidLogChecker

 

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();
	}
    }
}

  

Andoid java文件中的Log检查工具,布布扣,bubuko.com

Andoid java文件中的Log检查工具

原文:http://www.cnblogs.com/kangyi/p/3885487.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!