android 日志文件输出

用法:

try {                    } catch (Exception e) {            LogUtil.LogException(e);        }

package com.hexun.util;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.io.RandomAccessFile;import java.io.StringWriter;import android.os.Environment;import android.util.Log;/** * 日志打印 */public class LogUtil {    private static final String FILE_NAME = "/logs.txt";    private static Boolean MYLOG_SWITCH = true; // 日志文件总开关    public static void i(String tag, String str) {        Log.i(tag, str.toString());    }    public static void LogException(Exception e) {        if (MYLOG_SWITCH) {            StringWriter sw = new StringWriter();            PrintWriter pw = new PrintWriter(sw);            e.printStackTrace(pw);            String str = sw.toString();            writeException(str);        } else {            e.printStackTrace();        }    }    private static void writeException(String content) {        try {            if (Environment.getExternalStorageState().equals(                    Environment.MEDIA_MOUNTED)) {                // 获取SD卡的目录                File sdCardDir = Environment.getExternalStorageDirectory();                File targetFile = new File(sdCardDir.getCanonicalPath()                        + FILE_NAME);                // 以指定文件创建RandomAccessFile对象                RandomAccessFile raf = new RandomAccessFile(targetFile, "rw");                // 将文件记录指针移动到最后                raf.seek(targetFile.length());                // 输出文件内容                raf.write(content.getBytes());                raf.close();            }        } catch (Exception e) {            e.printStackTrace();        }    }    private static String readException() {        try {            if (Environment.getExternalStorageState().equals(                    Environment.MEDIA_MOUNTED)) {                // 获得SD卡对应的存储目录                File sdCardDir = Environment.getExternalStorageDirectory();                // 获取指定文件对应的输入流                FileInputStream fis = new FileInputStream(                        sdCardDir.getCanonicalPath() + FILE_NAME);                // 将指定输入流包装成BufferReader                BufferedReader br = new BufferedReader(new InputStreamReader(                        fis));                StringBuilder sb = new StringBuilder("");                String line = null;                // 循环读取文件内容                while ((line = br.readLine()) != null) {                    sb.append(line);                }                br.close();                return sb.toString();            }        } catch (Exception e) {            e.printStackTrace();        }        return null;    }}


更多相关文章

  1. Android(安卓)app自动更新总结(已适配9.0)
  2. gradle 配置文件 build.gradle 属性详解
  3. android文件缓存,并SD卡创建目录未能解决和bitmap内存溢出解决
  4. android圆形进度条ProgressBar颜色设置
  5. Android(安卓)service
  6. Android单元测试和日志输出
  7. 【翻译】(1)Android(安卓)NDK Overview
  8. Android编译过程详解(二)
  9. android studio 打包 so 库

随机推荐

  1. BigImageViewer
  2. Android主流框架学习之旅
  3. 发一条短信,找到你的手机---android平台
  4. How to Compile Android(安卓)on Ubuntu
  5. Input Event Detect and Dispatch
  6. AdapterTest
  7. com.gc.android.market.api;
  8. Android(安卓)RSA 公钥加密、解密
  9. android GLSurfaceView 异常处理
  10. android sensor传感器