java怎么从绝对路径中取出除了文件名的路径
例如:我的函数的参数给进去是绝对路径:E:\com\1.txt想让返回的结果是E:\com,应该怎么取出来?求大神解决...
例如:我的函数的参数给进去是绝对路径:E:\com\1.txt
想让返回的结果是E:\com,应该怎么取出来?求大神解决 展开
想让返回的结果是E:\com,应该怎么取出来?求大神解决 展开
3个回答
展开全部
如果是多个文件的话,可以通过遍历某个文件夹查找指定文件的,之后分别记录文件名称和对应的绝对路径:
import java.io.File;
import java.util.HashMap;
public class Test1 {
static HashMap<String, String> filelist=new HashMap<String, String>();
/**
* 递归方法
* @param path 文件路径
*/
public static void find(String path){
File file=new File(path);
File[] files = file.listFiles();
//如果文件数组为null则返回
if (files == null)
return;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
//判断是不是文件夹,如果是文件夹则继续向下查找文件
find(files[i].getAbsolutePath());
} else {
//记录文件路径
String filePath = files[i].getAbsolutePath().toLowerCase();
//记录文件名
String fileName=files[i].getName().toLowerCase();
// System.out.println("---"+strFileName);
filelist.put(fileName, filePath);
}
}
}
public static void main(String[] args) {
//需要遍历的路径,也就是你要查找文件所在的路径
String path="D:\\kpi\\";
find(path);
System.out.println("kpi.9的路径:"+filelist.get("kpi.9"));
//输出结果:d:\kpi\kpi.9
}
}
import java.io.File;
import java.util.HashMap;
public class Test1 {
static HashMap<String, String> filelist=new HashMap<String, String>();
/**
* 递归方法
* @param path 文件路径
*/
public static void find(String path){
File file=new File(path);
File[] files = file.listFiles();
//如果文件数组为null则返回
if (files == null)
return;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
//判断是不是文件夹,如果是文件夹则继续向下查找文件
find(files[i].getAbsolutePath());
} else {
//记录文件路径
String filePath = files[i].getAbsolutePath().toLowerCase();
//记录文件名
String fileName=files[i].getName().toLowerCase();
// System.out.println("---"+strFileName);
filelist.put(fileName, filePath);
}
}
}
public static void main(String[] args) {
//需要遍历的路径,也就是你要查找文件所在的路径
String path="D:\\kpi\\";
find(path);
System.out.println("kpi.9的路径:"+filelist.get("kpi.9"));
//输出结果:d:\kpi\kpi.9
}
}
展开全部
使用String对象的subString方法,第一个参数设置为0,第二个参数设置为你要截取到的字符的下标,如本题,应该是indexOf("1")。意思是获取子字符串从下标0开始到第一个字符串“1”的下标(不包括1)。或者通用一点的写法就是获取最后一个“\”的下标,再+1
追问
最后一个“\”的下标怎么取?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
file.getPanrentFile().getAbsolutepath
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询