gpt4 book ai didi

java - 以增量编号存储文件

转载 作者:搜寻专家 更新时间:2023-11-01 09:12:16 24 4
gpt4 key购买 nike

我想知道我怎么可能以增量格式存储图像或文本或任何类型的文件,例如,

图片1,图片2,图片3,图4.

这样即使我将它们存储在不同的时间,我也能够获得那一刻的最大数字并将其加一。

最佳答案

如果文件名有限,我喜欢 Dredel 博士的回答。如果不是,则 SharedPreference 需要为每个唯一名称存储一个索引。如果没关系,那就太好了 =)。如果不行,您可以不断递增文件名,直到该文件不存在为止。例如:

File newFile = new File(myFileName);
while (newFile.exists()) {
myFileName = increment(myFileName);
newFile = new File(myFileName);
}

样本增量方法是:

public String increment(final String pString) {
int index = -1;
for (int i = pString.length() - 1; i >= 0; i--) {
if (!isNumeric(pString.substring(i))) {
index = i + 1;
break;
}
}

String incrementedId;

// If whole string is numeric, must be integer or double:
if (index < 0) {
incrementedId = incrementNumber(pString);
}
// If string has no index, assume this is the second occurrence:
else if (index == pString.length()) {
incrementedId = pString + "2";
}
// Otherwise, increment end index:
else {
incrementedId =
pString.substring(0, index)
+ incrementNumber(pString.substring(index));
}

return incrementedId;
}

private String incrementNumber(final String pString) {
String num;
try {
int id = Integer.parseInt(pString);
num = String.valueOf(id + 1);
}
catch (Exception e) {
double id = Double.parseDouble(pString);
num = String.valueOf(id + 1);
}
return num;
}

您可以根据需要实现 isNumeric。

关于java - 以增量编号存储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7434605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com