|
当程序员是很辛苦的,首先理论知识就够你喝一壶的了。 枯燥的代码,感人的需求,未知的人性,充满着艰辛。
比如,假如你是一个Java程序员,给你一个需求,如何获取文件的后缀名?
案例:tim.g (1).jpg,即取出“.jpg”。 这也可以理解为一个极小的功能点或者代码步骤。 但大的功能就是这样一步步码出来的。
为什么要取文件后缀名。 作用有很多,判断文件类型,或是作其他比较……,具体功能需求我也忘了。 反正曾经为这个苦恼过。
苦恼什么呢? 一开始就简单的认为取后三位就行了。 后来发现这只是图片的一种格式,文件可不止图片一种。
再一个,你吃不准人家是如何命名文件的。 如果你想以“.”来取文件后缀,上面的那个例子就会让你吃瘪。你会发现里面有两个点。
因此,写代码之前我们要进行仔细分析,提供一种思路:
①取“.”是合适的。 但问题是点的位置不好把控。
②聪明的人就会想到,取最后一个点就可以了。 想明白了,就可以开始敲代码了。
「详细步骤」
/**
* 详细步骤
*/
private static void test1() {
//获取文件的原始名称
String originalFilename = "tim.g (1).jpg";//timg (1).jpg
//获取最后一个.的位置
int lastIndexOf = originalFilename.lastIndexOf(".");
//获取文件的后缀名 .jpg
String suffix = originalFilename.substring(lastIndexOf);
System.out.println("suffix = " + suffix);
}「简化写法」
/**
* 简化写法
*/
private static void test2() {
//获取文件的原始名称
String originalFilename = "tim.g (1).jpg";//timg (1).jpg
//获取文件的后缀名 .jpg
String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
System.out.println("suffix = " + suffix);
}「运行效果」

「思考」
写到这里其实已经很ok了,但还有完善的点。 比如:点在最后怎么办,像是这样“tim.g (1).jpg.”
这就还需要做些判断,这里就不展示了,留给你的课后作业。
<hr/>今天就讲到这里了。下次再会。 |
|