我构建了一个相机应用程序。我的问题是我想继续使用默认相机应用程序使用的逻辑命名。
示例:相机应用程序生成如下文件:
IMG_20130104_033852
IMG_20130104_033853
如果这些是我的/camera文件夹中的唯一内容,理论上我应该将我的照片命名为IMG_20130104_033854
。我是否应该寻找具有"最大"名称的图像并添加一个数字,或者是否有更好的解决方案?
我建议将名称构建到最后一个数字序列,然后您可以查找最大的数字并在其上添加1,如果您愿意的话。
例如,基于今天的日期,你可以构建IMG_20130121_
部分。您可以使用File [] fList = f.listFiles();
,其中f
指向/camera/
目录。从这里,您可以通过在IF语句中执行fileName.startsWith("IMG_20130121_")
来检查文件。
从那里,执行一个子字符串来获取最后一个下划线(_)之后的字符串-数字,转换为Integer,并循环直到完成对所有Integer的比较。
我这样做是为了文件夹名。一个独立的cd刻录设备创建的文件夹以ezb_
开头,后面跟着一个数字。如果这些信息还不够,我可以明天粘贴我的循环代码。
作为旁注,如果您要在IMG_20130121_
之后开始自己的命名算法,比如添加一个s或其他东西,您仍然需要跟踪或查找最大的数字。你也可以像我解释的那样实现一些东西。如果我需要澄清,请告诉我!