java代码实现从路径字符串中获取文件名称

比如:Stringstr="c:/win/good/aaa.txt";如何得到"aaa.txt"补充一下:这个str的形式可能是:Stringstr="c:/win/go... 比如:String str = "c:/win/good/aaa.txt";如何得到"aaa.txt"
补充一下:这个str的形式可能是:String str = "c:/win/good/aaa.txt;d:/win/good/bbb.txt;c:/win/cccc.txt;";现在需要的是三个str了就是"aaa.txt","bbb.txt","cccc.txt"
展开
 我来答
wwwqvod
2010-04-15 · TA获得超过307个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:290万
展开全部
这道题主要就是利用了String类的split()方法,进行多次调用,已经帮你实现了,代码如下:

public class Test{
public static void main(String[] args){
String str = "c:/win/good/aaa.txt;d:/win/good/bbb.txt;c:/win/cccc.txt;";
//得到路径数组
String[] fileRoot = str.split(";");
String[] fileName = null;
for(int i = 0;i < fileRoot.length;i++){
if(fileRoot[i] != null){
fileName = fileRoot[i].split("/");
//得到最终需要的文件名
System.out.println (fileName[fileName.length-1]);
}
}

}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wgfcjx
2010-04-15 · TA获得超过104个赞
知道答主
回答量:60
采纳率:0%
帮助的人:46.9万
展开全部
我给一种方法参考吧:如果这样的话,那要先确定str肯定包含至少一个文件名,并且能有一定的规定区分出每个路径来,假如,每两个路径名之间用";"分隔.

String str = "c:/win/good/aaa.txt" ;
String strFileName[] = str.split(";") ;//按你自己的规则拆分
然后判断路径个数,再用个循环

String name[] = str.split("/") ;//以"/"为分离字符将字符串拆分成一个字符数组
int n = name.lengh-1 ;//数组最后一个内容就是你要的文件名了

那么name[n]就是文件名aaa.txt了

下面给个程序吧:
public class TestFileNameString{
public static void main(String[] args)
{
String str = "c:/win/good/aaa.txt;d:/win/good/v/dd.txt" ;
String strFileName[] = str.split(";") ;
if(strFileName.length>0){
String realName[] = new String[strFileName.length] ;
for(int i=0;i<strFileName.length;i++){
String name[] = strFileName[i].split("/") ;//以"/"为分离字符将字符串拆分成一个字符数组
int n = name.length-1 ;//数组最后一个内容就是你要的文件名了
realName[i] = name[n] ;
}
for(int i=0;i<realName.length;i++){
System.out.println(realName[i]) ;
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
corruptsatan
2010-04-15 · TA获得超过1108个赞
知道小有建树答主
回答量:473
采纳率:0%
帮助的人:618万
展开全部
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class Test {

public static void main(String[] args){

String str = "c:/win/good/aaa.txt;d:/win/good/bbb.txt;c:/win/cccc.txt;";
List<String> fileNames = new ArrayList<String>();

String[] paths = str.split(";");

for(String path:paths){
if(path!=null || path.length()>0){
File file = new File(path);
fileNames.add(file.getName());
}
}
System.out.println(fileNames);
}
}

或者在for循环里用lastIndexOf(“/”)方法截取也可以,我就不写了,你可以自己试着写一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lixin880415
2010-04-15
知道答主
回答量:25
采纳率:0%
帮助的人:0
展开全部
可以用File类内的getAbsoluteFile()方法,直接得到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式