java获取文件名的三种方法

时间:2022-05-24 02:51:36

import java.io.File;
import java.util.Arrays;

public class FileName {

/**
* @param args
*/
public static void main(String[] args) {

String img_path="image/shop/o/0291514245090552868682.jpg";
if (img_path == null || img_path.indexOf(".") == -1){
//如果图片地址为null或者地址中没有"."就返回""
}
String result= img_path.substring(img_path.lastIndexOf(".") + 1).
trim().toLowerCase();
System.out.println(result);

// 举例:
String fName =" G:\\Java_Source\\navigation_tigra_menu\\demo1\\img\\lev1_arrow.gif ";

// 方法一:

File tempFile =new File( fName.trim());

String fileName = tempFile.getName();

System.out.println("方法一:fileName = " + fileName);

// 方法二:

fName = fName.trim();

// fileName = fName.substring(fName.lastIndexOf("/")+1);
// 或者
fileName = fName.substring(fName.lastIndexOf("\\")+1);

System.out.println("方法二:fileName = " + fileName);

// 方法三:

fName = fName.trim();

String temp[] = fName.split("\\\\"); /**split里面必须是正则表达式,"\\"的作用是对字符串转义*/

//temp[] = [G:, Java_Source, navigation_tigra_menu, demo1, img, lev1_arrow.gif]
System.out.println("temp[] = " + Arrays.toString(temp));
fileName = temp[temp.length-1];

System.out.println("方法三:fileName = " + fileName);

}

}

来自:http://yinny.iteye.com/blog/1508699

http://rogerfederer.iteye.com/blog/1187798