高分悬赏:Java语言怎么提取一个文件路径里的文件的扩展名的部分,也就是最后一个点后面的部分,没有扩展名返回""
问题描述:
高分悬赏:Java语言怎么提取一个文件路径里的文件的扩展名的部分,也就是最后一个点后面的部分,没有扩展名返回""
比如
c:\123\aaa.abc
返回abc
c:\123.456\aaa
返回"",而不是456\aaa
答
实现思路:
1、 lastIndexOf(".") != -1 说明包含,直接 substring(lastIndex+1)
2、取最后一个 \ ,直接截取。
答
截取\,再截取截取最后一个没有就返回“”
答
String path="c:/123.456/aaa";//给定路径
String[] a=path.split("/");
////////////////去最后一个进行查找
int n=a[a.length-1].indexOf(".");
if(n>-1){
System.out.println(a[a.length-1].substring(n+1));
}
else{System.out.println("没有后缀");}
}
答
import java.io.File;
public class Selectfile {
public static void main(String[] argv) {
//获取文件路径
File file=new File("E:\\javalianxi\\a");
File[] filename = file.listFiles();
for(int i = 0;i < filename.length;i++){
//判断文件夹
if(filename[i].isDirectory() == true){
String filename1 = filename[i].getName();
System.out.println(" (这是输出的空格位置,是文件夹"+filename1+")");
}
//判断文件
else if(filename[i].isFile() == true){
String filename2 = filename[i].getName();
//获取最后一个.的位置
int lastIndexOf = filename2.lastIndexOf(".")+1;
//输出.后面的后缀名
System.out.println(filename2.substring(lastIndexOf));
}
}
}
}
文件夹