\做为分割符要注意的问题-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

\做为分割符要注意的问题

简介:

今天在做上传文件的时候,想用简单的办法得到文件名,于是就直接用


  1. String[] fileName = filePath.split("\\"); 
  2. System.out.println(fileName[fileName.length-1]);

这行代码去得文件名,开始觉得没有问题,可是一运行报了下面的错误


  1. java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 

一看就知道是分割符出现了问题,由于路径是前台传过来的,得到的都是"\"这样的格式,但是当你在类中自己写的时候,如果你写成


  1. String filePath = "c:\aaa\bbb\ccc\a.txt"

这种形式,编译器是要报错的,因为API中已经写的很清楚了


  1. 在 UNIX 系统上,此字段的值为 '/';在 Microsoft Windows 系统上,它为 '\\'。  

所在写成


  1. String filePath = "c:\\aaa\\bbb\\ccc\\a.txt"

这样才是对的,因此


  1. java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 

这个问题的解决方式就是将"\\"写成"\\\\"


  1. String[] fileName = filePath.split("\\\\"); 
  2. System.out.println(fileName[fileName.length-1]); 

这样问题就解决了。问题虽小,但是值得注意!



本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/382461,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章