[Blankj/AndroidUtilCode]LogUtils能否增加获取log文件路径方法

2024-07-15 52 views
3
描述需求

获取日志文件夹有了,也需要个获取日志文件路径的

可借鉴的
public static String getLogPath (){
        String format = getSdf().format(new Date());
        String date = format.substring(0, 10);
        return CONFIG.getDir() + CONFIG.getFilePrefix() + "_"
                + date + "_" +
                CONFIG.getProcessName() + CONFIG.getFileExtension();
    }

回答

3

不是有 getLogFiles 了么

3

这个方法理论上可以,实际上不行。新保存的文件不经过媒体扫描的话,获取不出来。 也就是说文件夹下可能有20个文件,但是读出来只有不到20个文件

2

能修复可以获取到全部文件用这个倒是可以

6

这个方法理论上可以,实际上不行。新保存的文件不经过媒体扫描的话,获取不出来。 也就是说文件夹下可能有20个文件,但是读出来只有不到20个文件

这不应该啊,靠代码获取的文件列表还会不及时?

9

会的,我的系统是8.1系统,原生的系统。 做过一个这样的实验: 也是这个里面的工具类,把相机预览的数据保存到图片,glide已经可以根据路径把图片显示出来,点对应的图片跳转到查看大图页面,通过FileUtils.listFilesInDir 就有很大的概率读不出来后来拍的照片,就造成了预览图和大图显示的不是一个图。

后来用android.media.MediaScannerConnection#scanFile , 可以获取全部文件了

3

那我提供单独获取当前日志文件不也是需要扫描的吗

0

我发的那个获取单个文件,类似当天的文件,是LogUtils#print2File 里面那个fullPath,看代码里面,它是固定的。 LogUtils 493行 image

7

image 代码我已经加好了,不过你说了会存在扫描不到的问题,那获取的路径你读取文件还是可能会没有呀

6

java.io.File#listFiles 这个接口虽然有时候不能列出来所有的文件,但是只要那个文件实际存在的话,指定那个具体的文件,还是可以用。