java中获取资源 文件名的问题

//得到路径Stringpath=this.getServletContext().getRealPath("/download/1.jpg");//得到文件名Strin... //得到路径

String path = this.getServletContext().getRealPath("/download/1.jpg");
//得到文件名
String filename = path.substring(path.lastIndexOf("\\")+1);

这个是写在servlet里面的,后面path.lastIndexOf("\\")+1有点不明白,查了一下说是取最后一个'"\\'"符号后面的1个字符。这样取出来就是1.jpg了吗?为什么?求高人详细解释下
展开
 我来答
mohunk10
2013-08-05 · TA获得超过754个赞
知道小有建树答主
回答量:466
采纳率:100%
帮助的人:453万
展开全部
这个其实是Java API方法的运用的问题。path.substring(int startIndex);这个方法是从startIndex这个位置开始到字符串末尾截取子串。具体到你所提问的这个方法:其中,path.lastIndexOf("\\");是获取到最后一个反斜杠的索引位置。path.substring(path.lastIndexOf("\\")+1);它的意思是从最后一个反斜杠的位置,(但不包括这个反斜杠,所以它在这个位置上加了一个数字1)一直截子串到最后,所以就得到了文件名。
s136357491
推荐于2016-03-22 · TA获得超过223个赞
知道小有建树答主
回答量:295
采纳率:0%
帮助的人:147万
展开全部
这个主要看的是substring()方法,这里传一个整形t的话就表示截取t到改字符串的 最后一位之间的字符。。。
path.lastIndexOf("\\")+1找到"\\"出现的最后一个字符加1所在的位置即1.jpg中的1所在在的下标,截取其到最后的字符串即1.jpg。
追问
为啥这个参数传的是“\\”啊?在实际路径里面是download\\1.jpg的?
追答
java中分辨路径有两种方法,一种是“/”,另一种是"\\",这两种都能识别的,不过你最好先输出看看,我也没试过区别
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
198901245631
推荐于2018-04-05 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1725万
展开全部
可以通过“ 类名.class.getResource("").getPath()”获取到文件的绝对路径,之后通过sbustring方法截取出最后一个”\“后面的全部内容。
举例:
String path = XMLS.class.getResource("").getPath();
String filename= path .substring(path .lastIndexOf("\\\\") + 1, path .length());//获取到文件名
解释:以上语句就是获取到XMLS编译后的绝对路径(无法获取到java文件路径的,因为java运行的都是class文件)。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chujiangke001
2013-08-05 · TA获得超过1605个赞
知道小有建树答主
回答量:1352
采纳率:0%
帮助的人:694万
展开全部
String filename = path.substring(path.lastIndexOf("\\")+1);

应该是 String filename = path.substring(path.lastIndexOf("/\\")+1);的吧

主要你\\为windows下的路径格式,
/为linux下的路径格式,你的机器部署的linux吧
path.lastIndexOf("\\")+1找到"\\"出现的最后一个字符加1所在的位置即1.jpg中的1所在在的下标,截取其到最后的字符串即1.jpg。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-05
展开全部
//得到路径
String path = this.getServletContext().getRealPath("/download/1.jpg");
System.out.println(path);//看看是什么样的
//得到文件名
String filename = path.substring(path.lastIndexOf("\\")+1);

是得到1.jpg,为何要这样做,看环境的需求的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式