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了吗?为什么?求高人详细解释下 展开
String path = this.getServletContext().getRealPath("/download/1.jpg");
//得到文件名
String filename = path.substring(path.lastIndexOf("\\")+1);
这个是写在servlet里面的,后面path.lastIndexOf("\\")+1有点不明白,查了一下说是取最后一个'"\\'"符号后面的1个字符。这样取出来就是1.jpg了吗?为什么?求高人详细解释下 展开
6个回答
展开全部
这个其实是Java API方法的运用的问题。path.substring(int startIndex);这个方法是从startIndex这个位置开始到字符串末尾截取子串。具体到你所提问的这个方法:其中,path.lastIndexOf("\\");是获取到最后一个反斜杠的索引位置。path.substring(path.lastIndexOf("\\")+1);它的意思是从最后一个反斜杠的位置,(但不包括这个反斜杠,所以它在这个位置上加了一个数字1)一直截子串到最后,所以就得到了文件名。
展开全部
这个主要看的是substring()方法,这里传一个整形t的话就表示截取t到改字符串的 最后一位之间的字符。。。
path.lastIndexOf("\\")+1找到"\\"出现的最后一个字符加1所在的位置即1.jpg中的1所在在的下标,截取其到最后的字符串即1.jpg。
path.lastIndexOf("\\")+1找到"\\"出现的最后一个字符加1所在的位置即1.jpg中的1所在在的下标,截取其到最后的字符串即1.jpg。
追问
为啥这个参数传的是“\\”啊?在实际路径里面是download\\1.jpg的?
追答
java中分辨路径有两种方法,一种是“/”,另一种是"\\",这两种都能识别的,不过你最好先输出看看,我也没试过区别
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以通过“ 类名.class.getResource("").getPath()”获取到文件的绝对路径,之后通过sbustring方法截取出最后一个”\“后面的全部内容。
举例:
String path = XMLS.class.getResource("").getPath();
String filename= path .substring(path .lastIndexOf("\\\\") + 1, path .length());//获取到文件名
解释:以上语句就是获取到XMLS编译后的绝对路径(无法获取到java文件路径的,因为java运行的都是class文件)。
举例:
String path = XMLS.class.getResource("").getPath();
String filename= path .substring(path .lastIndexOf("\\\\") + 1, path .length());//获取到文件名
解释:以上语句就是获取到XMLS编译后的绝对路径(无法获取到java文件路径的,因为java运行的都是class文件)。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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。
应该是 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,为何要这样做,看环境的需求的。
String path = this.getServletContext().getRealPath("/download/1.jpg");
System.out.println(path);//看看是什么样的
//得到文件名
String filename = path.substring(path.lastIndexOf("\\")+1);
是得到1.jpg,为何要这样做,看环境的需求的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询