一般为了避免windows系统和linux系统之间路径分隔符的差异,我们会使用File.separator来代替windows下的“\”或者Linux下的“/”,来表示文件路径。

如果需要分割路径来获取文件(夹)名,会用到String.split(String regex)方法,直接使用File.separator作为参数会抛异常

String separator = File.separator;

String path = "E:\\test\\file1\\file2";

for (String str : Arrays.asList(path.split(separator))) {

System.out.println(str);

}

结果如下:

这是因为在Windows下,File.separator是“\\”,经过转义识别为“\”,而String.split方法的参数应该是一个正则表达式字符串,传入“\”就会抛这个异常。

这个时候如果要分割需要再加上一个反斜杠,在代码里应该是两个。

String separator = File.separator;

String path = "E:\\test\\file1\\file2";

for (String str : Arrays.asList(path.split("\\" + separator))) {

System.out.println(str);

}

但是在Linux系统下,路径分隔符是“'/”分割的时候不需要转义,也就不需要加反斜杠,刚才那种写法就无法胜任了。为了能在Windows和Linux下都能生效,可以使用正则表达“/|\\\\”式来完成。

String separator = "/|\\\\";

String path = "E:\\test\\file1\\file2";

for (String str : Arrays.asList(path.split(separator))) {

System.out.println(str);

}

java split 路径,JAVA通过文件路径分隔符分割文件路径相关推荐

  1. csplit 分割文件

    csplit 按行分割,split 按大小分割. csplit命令是split的一个变体,split只能够根据文件大小或行数来分割,但csplit能够根据文件本身特点来分割文件. csplit命令用于 ...

  2. c语言 拆分 文件,linux 将一个大文件分割成小的碎片文件 命令:csplit

    csplit命令用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成一个文件.碎片文件的命名类似"xx00","xx01".csplit命令是split ...

  3. Linux shell脚本分割文件

    #!/bin/bash #使用bash脚本开发 #Program: # http://man.linuxde.net/ 指令网址 # #History: # 2017-03-27 19:50:13fo ...

  4. java多级目录文件是否存在_Java文件夹操作,判断多级路径是否存在,不存在就创建(包括windows和linux下的路径字符分析)...

    兼容windows和linux. 分析: 在windows下路径有以下表示方式: (标准)D:\test\1.txt (不标准,参考linux)D:/test/1.txt 然后在java中,尤其使用F ...

  5. java删除相对路径文件夹_Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录...

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator// F ...

  6. java扫描包下类_实现获取扫描指定包路径下的jar文件或class文件JarPojoHandler类示例代码...

    通过JarPojoHandler类实现了扫描指定路径下如何获取所有的JAR包或class文件,可以对特定class对象文件筛选过滤等,具体代码如下所示import java.io.File;@b@im ...

  7. Java解压上传zip或rar文件,并解压遍历文件中的html的路径

    1.本文只提供了一个功能的代码 public String addFreeMarker() throws Exception {HttpSession session = request.getSes ...

  8. java : enum、创建文件和文件夹、删除文件和文件夹、获得项目绝对路径、写入数据到excel中、java代码中两种路径符号写法、读取、写入text文件...

    java : enum http://www.cnblogs.com/hyl8218/p/5088287.html 创建文件和文件夹.删除文件和文件夹 http://www.cnblogs.com/m ...

  9. 【踩坑】Linux java中ftp下载文件,解压文件损坏,以及图片下载打开只显示下载路径的问题

    [踩坑]Linux java中ftp下载文件,解压文件损坏,以及图片下载打开只显示下载路径的问题 一. 问题重现 二. 问题解决思路 1. 确认是不是上传就导致数据出错了 2. 是不是平台问题 三. ...

最新文章

  1. 线程的创建 验证线程之间共享数据 守护线程 线程进程效率对比 锁 死锁 递归锁...
  2. 关于函数形参的一些讨论
  3. OpenCV使用G-API实现面部美化算法
  4. linux登录界面主题,Ubuntu 18.10(Cosmic Cuttlefish) 新登录界面亮相,主题为Yaru
  5. 小白设计模式:组合模式
  6. eclipseini设置使用的jdk_设置 Maven 对应的JDK 版本
  7. Intel Multiprocessor System Architecture
  8. SAP MM批次管理(1)物料与批次
  9. 功能强大的相片管理软件ACDSee Photo Manager 12.0.342注册码序列号中文版
  10. amaze ui教程
  11. java毕业设计——基于java+JSP+MySQL的健身俱乐部会员管理系统设计与实现(毕业论文+程序源码)——健身俱乐部会员管理系统
  12. 操作系统-课堂笔记-进程概述(南航)
  13. Windows怎么查看开关机记录事件?
  14. MySql数据类型-读书笔记
  15. 《名贤集》《明贤集》四言集
  16. Win7如何打开软键盘?Win7打开软键盘的方法
  17. linux 文件添加标签,SELinux——有趣的标签
  18. 【PS技巧】如何校正倾斜的图片
  19. TCO2017 Semifinal 部分题解
  20. 2018年上半年阅读书单

热门文章

  1. maven项目在pom.xml中设置JDK编译版本
  2. mysql 5.5 udf_MYSQL5漏洞之udf提权
  3. java rhino 运行 js_java 脚本引擎Rhino执行js代码和文件
  4. 四六级考试中的计算机类文章,毕业设计论文-基于web的英语四六级模拟在线考试系统.doc...
  5. centos+gitlab+mysql_centos7安装配置gitlab(使用外部nginx)
  6. 使用Windows窗体的C#旋钮控件
  7. 修改主从服务器,搭建BIND主从服务器
  8. java可以看懂php代码吗_可以自己给自己理发吗?看懂这六点细节就能给自己理发了...
  9. php fpm core,在php-fpm下,服务器间歇出现core dump 追踪到php代码是include一个php文件...
  10. centos安装python3.5_CentOS 7安装Python3.5