Andoid java文件中的Log检查工具
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检查工具的更多相关文章
- Intellij Idea 工具在java文件中如何避免 import .*包
Intellij Idea工具在java文件中怎么避免import java.utils.*这样的导入方式,不推崇导入*这样的做法!Editor->Code Style->Java-> ...
- Java项目中使用log记录日志的一些总结
本文介绍了一下自己在Java项目中使用log的一些总结,从日志的作用.日志的选用.日志级别介绍.日志记录的一些最佳实践几个方面阐述. 日志的作用 主要作用包括: 1.出问题后定位当时问题 2.显示程序 ...
- JAVA文件中获取路径及WEB应用程序获取路径方法
JAVA文件中获取路径及WEB应用程序获取路径方法 1. 基本概念的理解 `绝对路径`:你应用上的文件或目录在硬盘上真正的路径,如:URL.物理路径 例如: c:/xyz/test.txt代表了tes ...
- 一个.java文件中可以有几个同级类
1.在一个.java文件中可以有几个类.修饰符只可以public abstract final和无修饰符,不能是其他的private等修饰符.2.public修饰的只能有一个,且要与文件名相同 若没有 ...
- Java文件中为什么只能有一个public修饰的类, 并且类名还必须与文件名相同
当编写一个java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元).每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类的名称必须与文件的名称相同(包 ...
- Android开发过程中在sh,py,mk文件中添加log信息的方法
Android开发过程中在sh,py,mk文件中添加log信息的方法 在sh文件中: echo "this is a log info" + $info 在py文件中: print ...
- Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量。
myeclipse和eclipse集成编译软件,都提供了一个快捷键用来批量重命名变量:Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量.扩展知识:如果想要重命名文件名,又不想手动 ...
- 一个.java文件中是否可以有多个类
前段时间,有个同事问到我这个问题:一个.java文件中是否可以有多个类? 答案:可以有多个类,但最多只能有一个被public修饰的class. 且若这个.java文件中有一个public类型的clas ...
- 可以在一个.java文件中写两个类吗?
一个java文件中可以有任意多个类,接口或是注解..但是只能有一个类是public的,而且这个类的名字要和文件同名,比如public类名为A则文件名就应当为A.java
随机推荐
- Axure简介
Axure RP(Rapid Prototyping快速原型) 是美国公司Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面 ...
- 模拟namenode崩溃,使用secondarynamenode恢复
方法一.使用namespaceID 1.在namenode节点上,将dfs.name.dir指定的目录中(这里是name目录)的内容情况,以此来模拟故障发生. [hadoop@node1 name]$ ...
- Codeforces 735D:Taxes(哥德巴赫猜想)
http://codeforces.com/problemset/problem/735/D 题意:给出一个n,这个n可以分解成 n = n1 + n2 + -- + nk,其中k可以取任意数.要使得 ...
- 完整学习git四git对象
1查看git对象 git cat-file 实践 git head到底指向的是什么 ➜ gittest git:(master) find .git -name HEAD -o -name maste ...
- 每日一九度之 题目1042:Coincidence
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3007 解决:1638 题目描述: Find a longest common subsequence of two strings. 输入 ...
- java 类加载顺序
1.虚拟机在首次加载Java类时,会对静态初始化块.静态成员变量.静态方法进行一次初始化 2.只有在调用new方法时才会创建类的实例 3.类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始 ...
- 2015-09-17 001 存储过程数据操作类 H_data_Helper
using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using S ...
- JAVA基础知识之IO-File类
File类介绍 File是java.io包下面的一个类,代表与平台无关的文件或者目录.JAVA中,无论文件还是目录,都可以看作File类的一个对象.File类能对文件或目录新建,删除,获取属性等操作, ...
- google prettify 代码高亮显示
引入js和css文件 下载地址 http://files.cnblogs.com/jaday/prettify.zip js文件代码 !function(){var q=null;window.PR_ ...
- HTTP 错误 404.2 - Not Found
前几天刚安装Windows Server 2008 r2 sp1 遇到问题之后,昨天我又遇到一个问题(但我不害怕有问题),提示: HTTP 错误 404.2 - Not Found由于 Web 服务器 ...