Android 文件名中包含:nopm:的图像

Android 文件名中包含:nopm:的图像,android,image,file,google-hangouts,Android,Image,File,Google Hangouts,I'v最近发现,使用Google Hangouts拍摄的图像有时会在文件名末尾添加:nopm:。例如,DCIM/Camera/IMG_20141212_123123:nopm:.jpg 这给我带来了大量的解析问题。其中一个最大的问题是,当我用这个路径创建一个File对象,并尝试File.exists()时,我得到了一个FALSE 我的最终目标是,当我遇到其中一个:nopm:images时,我只想在设备上重命名它,并继续正常处理 这是我的密码: public static void checkFo

I'v最近发现,使用Google Hangouts拍摄的图像有时会在文件名末尾添加:nopm:。例如,DCIM/Camera/IMG_20141212_123123:nopm:.jpg

这给我带来了大量的解析问题。其中一个最大的问题是,当我用这个路径创建一个File对象,并尝试File.exists()时,我得到了一个FALSE

我的最终目标是,当我遇到其中一个:nopm:images时,我只想在设备上重命名它,并继续正常处理

这是我的密码:

public static void checkForNopm(File file) {

    final String path = file.getPath();

    if (path.contains(":nopm:")) {
        final File newfile = new File(file.getPath().replace(":nopm:",""));
        file.renameTo(newfile);
    }
}

它看起来像是下午12点/上午12点。照片中的小时是12:31:23,:nopm:可以表示没有pm(so,am),或者是在其他类型(如24小时)中配置的

你试过检查没有:nopm:的照片中的小时是否超过12:00 am吗?

阅读以下内容:

也没有解决办法。但这可能是Google Hangout逃避其他公用事业管理照片的一种方式。我搜索:nopm:当我试图复制一些我在玩Ingress时拍的照片,并与Google Hangout共享时。我来问你的问题,然后android中的答案列出了第二个。我相信“没有照片管理员”的答案比“上午/下午”更合理


如果真的是这样,最好的方法是手动删除这些“:nopm:”,然后再使用工具进行管理。但同时,像“Dropbox”这样的其他工具也可以备份这些照片。

我记得在向测试人员发送.apk文件时遇到了类似的问题。如果用户多次下载.apk文件,名称将从
foo_bar.apk
更改为
foo_bar.apk(1)
,这将导致android无法将其识别为要安装的有效apk/为什么还要麻烦nopm呢?只需删除
的“消毒”的所有部分就行了@Blundell,为了重命名文件,它必须按照file.exists存在,如果文件中包含冒号,则返回falseit@TheHungryAndroider你想用这个文件做什么,你是如何得到它的参考资料的?你的应用程序是文件管理器吗?(我的意思是:如果我们有更多关于你试图做什么的背景知识,可能还有其他方法来回避这个问题)你有没有尝试过简单地避开冒号?i、 例如,
File f=new File(“DCIM/Camera/IMG\u 20141212\u 123123\:nopm\:.jpg”)
我没有检查这个,但即使你说的是正确的,也无助于解决问题,不幸的是……时间与此无关。文件名使用24小时格式。谢谢。我以前确实看过那篇文章。正如您所提到的,不幸的是,它对任何潜在的解决方案都没有提供有益的见解。