Android在文件中写日志

Android在文件中写日志

有时候我们在程序需要打印日志,但是使用Log打印在控制台很容易就被刷过去,或者打的是签名安装包不方便在控制台输出日志,那就需要我们把日志写到文件中,方便我们自己查看。

第一种、追加日志输出文件。就是每次输出的日志都在原先的日志文件中追加,不会覆盖上一次输出的日志。

/**
 * 追加文件:使用FileWriter
 * @param fileName
 * @param content
 */
public static void writeLog(String fileName,String content) {
   String path = Environment.getExternalStorageDirectory() + "Log/"; //文件路径
   FileWriter writer = null;
   try {
       File file = new File(path);
       if (!file.exists()) {  //没有创建文件夹则创建
           file.mkdirs();
       }
       // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
       writer = new FileWriter(path + fileName, true);
       writer.write(content);
   } catch (IOException e) {
       e.printStackTrace();
   }
}

调用方法:

writeLog("log.txt",content);

第二种、不追加日志输出文件。每次输出的日志都会把上一次输出的日志覆盖掉,只剩下最后一次输出的日志。

/**
 * 不追加文件
 * @param filename   文件名称
 * @param content  打印内容
 */
public static void writeContent(String filename, String content) {
    String path = Environment.getExternalStorageDirectory() + "Log/"; //文件路径
    FileOutputStream fos =null;
    try {
        fos = new FileOutputStream(path);
        File file = new File(path + filename);
        if (!file.exists()) {  //没有创建文件则创建
            file.mkdirs();
        }
        fos.write(content.getBytes());  //写入文件
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            fos.close();  //关闭文件流
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

调用方法:

writeContent("log.txt",content);
发布了20 篇原创文章 · 获赞 26 · 访问量 9445

猜你喜欢

转载自blog.csdn.net/weixin_42574892/article/details/98726068