Android写文件到手机中

最近在调蓝牙读卡的指令传输,写一个专门用来测试蓝牙读卡器是否符合标准的APP,但是在开发过程中,发现可能我们所做的功能跟客户的预期是有差别的,虽然原型已经确定,但是敢肯定达不到客户的预期,最终肯定面临返工的情况,所以准备采取一个补救的措施,将控制台打印的所有日志全部输出到一个txt文档中保存在手机上,记录一个完整的蓝牙连接指令传输的过程。


开干。


附上一个写文件的工具类:

import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author mo
 * @date 2018/6/26
 */

public class WriteLogUtil {
    public static int writeLog(String log) {
        FileWriter fw;
        Date now = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
        String sDate = dateFormat.format(now);
        try {
            // FILE_PATH : /mnt/sdcard/
            fw = new FileWriter(SmartCardConfig.FILE_PATH + "ble_log.txt", true);
            fw.write(sDate + " : " + log + "\r\n");
            fw.flush();
            fw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return 0;
    }


}

直接调用writeLog方法,将想要打印的日志传入就可以了。


运行............

额...

控制台好像告诉我错了,但是没有崩溃,半斤八两的英语翻译一下:没有找到一个叫做ble_log.txt的文件,泥马这不废话吗,当然不存在这个文件,不存在你创建啊,你创..emmm.........,创建?这是一个白APP,好像没给写的权限诶~没权限你就说没权限,你看看你给我说的啥,你说的是啥!给你权限!!

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

不管那么多,都给你,都给你,拿去拿去,来一遍。

恩?果然不报错了,呵呵哒,来瞅一眼生成文件内容。

诶?在哪呢,怎么找不到,被吃了?路径不对?不可能啊,这就是根路径,是不是权限没给全?不可能吧,在项目里面用的好好的....

项目里面用.....那还是去年的事了,诶?几个月前我好像给手机升级了一下系统诶~7.0了?动态权限?来一波查,搞鸡毛啊,网上粘的代码不好使啊,之前没升级权限之前手机系统是6.0啊,有啥差别.emmm....

恩.......无意看到一个帖子..要加一个权限。。?跟我最初的判断是一致的。加上搞试试.....


<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

再来一波,果然好使了,我亲爱的txt。嘻嘻嘻。。。

点开查看一波,恩恩,内容对,但是在阅读器当中看怎么就那么别扭,不行,我要到电脑中打开.......

泥马...文件呢?眼瞎没看到,再仔细找找......还是没有,咦?手机上有啊?疯啦?是不是被占用了电脑显示不出来?赶紧退出文件管理.......还是没有,泥马.......


续:

Android写入到手机中的代码在电脑上不显示


你可能感兴趣的:(Android写文件到手机中)