Java文件的路径分隔符

本文详细介绍了Java中获取文件路径分割符的两种方法,File.separator与System.getProperty(),并对比了它们的效率与适用场景。同时,深入解析mkdir()与mkdirs()的区别,帮助读者理解如何在不同操作系统下正确创建目录。

目前已知java提供两种方法获取文件路径分割符:

       String separator = File.separator;
      
      String separator2 = System.getProperty("file.separator");
      
      File file = new File("a"+separator+"b"+separator2+"c");
      
      file.mkdirs();

自动匹配为:linux文件路径分隔符为 /  ,windows的文件路径分隔符为  \  。

然后会建立在项目根路径下的  a/b/c 目录树的文件夹 (windows上测试的)

这两种方法的效率我没仔细看源码,但是我觉得建议使用File.separator。因为它相当于系统建立了常量池,可以直接引用。其实从另一种角度思考,System.getProperty()方法不是为得到系统分割路径专门写的方法,得到具体值的过程必然有着必要的判断与查询,绝对效率应该差点。另外参数也可能因为手残写错(或copy时多按了一个空格),导致无法得到正确结果。

_____________________________________________________________________________________________________

mkdir()创建此抽象路径名称指定的目录(及只能创建一级的目录,且需要存在父目录)

mkdirs()创建此抽象路径指定的目录,包括所有必须但不存在的父目录。(及可以创建多级目录,无论是否存在父目录)

—————————————————————————————————————————————————————————

附上 Java:System.getProperty()方法大全 地址:https://blog.youkuaiyun.com/testcs_dn/article/details/43056051

 

### Python 文件路径分隔符的使用 在处理文件路径时,Python 提供了几种方法来确保代码可以在不同操作系统之间正常工作。以下是几种常见的做法: #### 使用 `os.path` 模块 为了使程序能够跨平台运行,推荐使用 `os.path.join()` 函数构建路径。此函数会自动根据操作系统的类型选择合适的路径分隔符。 ```python import os path = os.path.join("home", "user", "documents", "file.txt") print(path) # 输出取决于操作系统环境下的默认分隔符[^1] ``` #### 使用原始字符串 (Raw String) 当路径中包含反斜杠 `\` 作为目录分隔符时,在 Windows 上可能会遇到转义字符的问题。为了避免这种情况,可以在字符串前面加上字母 `r` 来创建一个原始字符串,这样可以防止解释器误将某些组合视为特殊字符。 ```python path = r'E:\Test\v2idemo.flv' filename = path.split(os.sep)[-1].split('.')[0] print(filename) # 输出: v2idemo[^3] ``` #### 获取当前系统路径分隔符 如果想要动态获取当前系统的路径分隔符,可以直接访问 `os.sep` 变量。这有助于编写更加灵活和可移植性的脚本。 ```python separator = os.sep print(f"The current OS uses '{separator}' as the path separator.") ``` #### 处理已有的带固定分隔符的路径 对于已经存在并带有特定分隔符(如 `/` 或 `\`)的路径字符串,可以通过调用 `os.path.normpath()` 方法将其转换为适合于当前操作系统的标准形式。 ```python normalized_path = os.path.normpath("/some//ugly\\///path/") print(normalized_path) # 将被标准化为 '/some/ugly/path/' 或者 '\some\ugly\path\' 根据所在的操作系统而定[^2] ``` 综上所述,通过上述多种方式之一,可以根据具体需求正确地使用 Python 中的文件路径分隔符,从而实现高效且兼容性强的应用开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值