`

JAVA自动适配Linux与Windows文件路径分隔符

阅读更多
Linux文件路径分隔符为 /  ,windows的文件路径分隔符为  \   ,在开发项目过程中不确定用户使用何种操作系统,就需要自动适配路径。

目前已知Java提供两种方法获取文件路径分割符:
File.separator
System.getProperty("file.separator")

提供一个简单工具类:
[java] view plain copy
public class FilePathUtil { 
    public static final String FILE_SEPARATOR = System.getProperty("file.separator"); 
    //public static final String FILE_SEPARATOR = File.separator; 
 
    public static String getRealFilePath(String path) { 
        return path.replace("/", FILE_SEPARATOR).replace("\\", FILE_SEPARATOR); 
    } 
 
    public static String getHttpURLPath(String path) { 
        return path.replace("\\", "/"); 
    } 




当然也可以使用request方法获取文件路径:
String serverPath = request.getServletContext().getRealPath("/assets/data/templete/import/");
此种方法会自动适配文件分隔符获取到工程目录下的 assets/data/templete/import 文件夹,不必考虑分隔符文件路径。

PS:默认情况下,直接写linux路径(/),tomcat运行在windows下是可以找到正确路径的;但是写windows路径(\),在linux平台下就会出现如下情况:
  • 大小: 77.8 KB
分享到:
评论

相关推荐

    java获得平台相关的行分隔符和java路径分隔符的方法

    在Java中,获取平台相关的行分隔符和路径分隔符是通过访问系统属性来实现的。本文将详细解释如何在Java中获取这些信息,以及更多关于系统属性的知识。 1. **行分隔符**: 行分隔符是用于表示文本文件中一行结束的...

    window与linux项目部署之linux文件路径不存在问题

    当然,为了确保代码的可移植性,可以使用Java等语言提供的API来创建跨平台的路径,例如Java的`java.nio.file.Paths`类提供的`getPath()`方法,它可以自动处理不同操作系统的路径分隔符。 总结来说,解决Window与...

    Java代码实现调用RapidOCR(基于PaddleOCR),适配Mac、Win、Linux,支持最新PP-OCRv4

    - 在不同的操作系统上运行Java程序时,需要注意路径分隔符、文件系统差异等问题。例如,Windows使用反斜杠,而Unix-like系统(如Mac和Linux)使用正斜杠。 - 考虑到依赖库的兼容性,确保所使用的库在所有目标平台...

    关于java获取操作系统信息

    获取路径分隔符 #### 13.1 `path.separator` 返回路径名分隔符,在Unix/Linux系统中为`:`, 在Windows系统中为`;`。 ### 14. 获取行分隔符 #### 14.1 `line.separator` 返回行分隔符,通常在Unix/Linux系统中为`\...

    在w10中编辑hadoop2.6.4后的bin和lib文件

    1. **修改脚本**:对于`bin`目录中的脚本,可能需要更改路径分隔符(Windows使用反斜杠 `\`,Linux使用正斜杠 `/`),或者调整路径以指向正确的Java解释器(`java.exe`)位置。 2. **配置环境变量**:确保`JAVA_...

    Android应用源码之GetSDTree(简单SD卡文件浏览器)-IT计算机-毕业设计.zip

    在不同操作系统或设备上,路径分隔符可能存在差异,需要适配。 9. 单元测试与调试:为了保证代码质量,开发者通常会为关键功能编写单元测试。同时,使用Android Studio的调试工具可以定位和修复代码中的问题。 10....

    心动采集类 v1.6 (mtv采集程序)

    在编程时,需注意路径的相对和绝对形式,以及路径分隔符的适配(Windows与Unix系统间不同)。此外,文件路径的合法性检查和异常处理也是必不可少的。 5. **源代码**:作为一款提供源码的软件,用户可以深入研究其...

    FTP TIME

    FTP服务可能需要根据运行的操作系统(如Windows、Linux、macOS等)进行不同的处理,例如路径分隔符、命令行调用方式等。 综上所述,虽然具体的功能和实现细节没有给出,但从这些源代码文件名我们可以推断出,这可能...

    jsonDemo.rar

    1. 文件系统:不同平台的文件路径表示和访问方式可能不同,需要适配。 2. 异步I/O:在Android和iOS上,可能需要使用异步操作来避免阻塞UI线程。 3. 多线程:跨平台的线程管理库,如pthreads,可以确保线程安全。 4. ...

Global site tag (gtag.js) - Google Analytics