最简获取文件扩展名
public static int indexOfLastSeparator(String filename) { if (filename == null) { return -1; } int lastUnixPos = filename.lastIndexOf(UNIX_SEPARATOR); int lastWindowsPos = filename.lastIndexOf(WINDOWS_SEPARATOR); return Math.max(lastUnixPos, lastWindowsPos); } 13 楼 lyy3323 2011-05-12 indexOfExtension 方法呢,老兄? 14 楼 zhkchi 2011-05-12 你们老是喜欢喷别人嘛? 15 楼 田智伟 2011-05-12 貌似可以使用String的 endWith不是来个更简洁? 16 楼 luciferdevil 2011-05-12 田智伟 写道貌似可以使用String的 endWith不是来个更简洁?
for example? 17 楼 xiaobao0501 2011-05-12 org.apache.commons.lang.StringUtils.substringAfterLast("index.htm", ".") ; 18 楼 duronshi 2011-05-18 freish 写道获取扩展名有啥意义?
赞同,楼主这样获取文件扩展名有何意义?
如果一个exe文件,我将文件后缀改成jpg,那按楼主的方法获取到的是什么?exe or jpg?
如果真的想获取文件扩展名,建议通过文件头里面的标识来获取,可能正确性会高一点。 19 楼 greatghoul 2011-05-18 yangyi 写道性能和可读性俱不佳
觉得这方法挺不错,也没有觉得可读性有什么差的,退一步讲,即便差,加个注释就好了。
要说性能吧,那要看什么场景了,脱离的应用场景空谈性能也没有什么意思。
好用就行了。 20 楼 greatghoul 2011-05-18 duronshi 写道freish 写道获取扩展名有啥意义?
赞同,楼主这样获取文件扩展名有何意义?
如果一个exe文件,我将文件后缀改成jpg,那按楼主的方法获取到的是什么?exe or jpg?
如果真的想获取文件扩展名,建议通过文件头里面的标识来获取,可能正确性会高一点。
文件头里的标识不见得就是文件的真实扩展名,这种方法很不准确吧。 21 楼 greatghoul 2011-05-18 感觉iteye里面的越来越多人喜欢扯蛋。。。