【发布时间】:2014-08-21 06:50:18
【问题描述】:
android 应用可以从 sdcard 加载绝对图片路径,如下图/storage/sdcard0/DCIM/Camera/20130622_200703.jpg
我只需要部分路径字符串,例如/20130622_200703.jpg
所以我想递归地将绝对路径拆分为我需要的路径。我写了如下代码
public String splitPath(String path){
if (path == "") {
return null;
}
if(path.indexOf("/") != -1){
String subPath = path.substring(path.indexOf("/") + 1);
//absoultePath = subPath;
splitPath(subPath);
}
return path;
}
但问题是当我在调试模式下跟踪该过程时。路径可以从/.../.../.../.../... 拆分为/...,这是正确的,但即使path.indexOf("/") 等于-1,它也不会返回路径。
然后奇怪的事情发生了,递归循环并没有结束,它继续将/...逐步更改为/.../.../.../.../...,然后返回路径,与/storage/sdcard0/DCIM/Camera/20130622_200703.jpg完全相同.
我真的很困惑,感觉就像逻辑本身在跟我开玩笑。哎呀
您的任何反馈将不胜感激。
【问题讨论】:
-
"/" + new File(path).getName();怎么样?那不就解决问题了吗? -
为了保持整洁,请考虑接受答案。
标签: java android string recursion split