Java操作文件路径正反斜杠问题解决

 更新时间:2024年01月31日 09:35:04   作者:糊涂涂糊涂涂  
最近在实现文件上传时,windows与linux系统出现的问题,两个系统中操作文件使用"\","/"导致IOException,本文主要介绍了Java操作文件路径正反斜杠问题解决,感兴趣的可以了解一下啊

一. 起因  

问题来源:最近在实现文件上传时,windows与linux系统出现的问题,两个系统中操作文件使用"\","/"导致IOException

二. 测试正反斜杆

2.1 \

@Controller
@RequestMapping("/test")
public class Test {

    @RequestMapping("/file")
    @ResponseBody
    public Object readFile(HttpServletResponse response) throws IOException {
        BufferedImage banner = ImageIO.read(new File("F:\\Img\\ghost_K\\bj3.jpeg"));
        ImageIO.write(banner, "jpeg", response.getOutputStream());
        return "获取成功";
    }
}

运行结果

2.2 /

@Controller
@RequestMapping("/test")
public class Test {

    @RequestMapping("/file2")
    @ResponseBody
    public Object readFile2(HttpServletResponse response) throws IOException {
        BufferedImage banner = ImageIO.read(new File("F:/Img/ghost_K/bj3.jpeg"));
        ImageIO.write(banner, "jpeg", response.getOutputStream());
        return "获取成功";
    }
}

运行结果

2.3 混用

@Controller
@RequestMapping("/test")
public class Test {

     @RequestMapping("/file1")
    @ResponseBody
    public Object readFile1(HttpServletResponse response) throws IOException {
        BufferedImage banner = ImageIO.read(new File("F:\\Img/ghost_K\\bj3.jpeg"));
        ImageIO.write(banner, "jpeg", response.getOutputStream());
        return "获取成功";
    }
}

运行结果

2.4 小结 

在java中操作文件时,无论正反斜杆都是可以的,在用到\\(双反斜杠,前面一个反斜杠代表转义符),而如果直接转义反斜杠则会报错

三. 使用建议

经过查询各种资料后,得出以下结论

  • java中的路径一般用"/"
  • windows中的路径一般用"\",而"\"需要转义,因此需要写成"\\"
  • linux、unix中的路径一般用"/"

由于Windows的路径中,使用"/"也可以读取到文件,个人感觉,"/"的跨平台性更好,使用起来更加方便

到此这篇关于Java操作文件路径正反斜杠问题解决的文章就介绍到这了,更多相关Java 路径正反斜杠内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Java中实现堆排序的步骤详解

    在Java中实现堆排序的步骤详解

    堆排序是一种基于堆数据结构的排序算法,堆是一种特殊的完全二叉树,堆排序利用堆的性质通过一系列操作将数组元素按升序或降序排列,本文给大家介绍了如何在Java中实现堆排序,需要的朋友可以参考下
    2024-12-12
  • mybatis-plus如何修改日志只打印SQL语句不打印查询结果

    mybatis-plus如何修改日志只打印SQL语句不打印查询结果

    这篇文章主要介绍了mybatis-plus如何修改日志只打印SQL语句不打印查询结果问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • JMX监控的具体使用

    JMX监控的具体使用

    JMX最常见的场景是监控Java程序的基本信息和运行情况,本文主要介绍了JMX监控的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • java 发送邮件的实例代码(可移植)

    java 发送邮件的实例代码(可移植)

    java 发送邮件的实例代码(可移植),需要的朋友可以参考一下
    2013-03-03
  • SpringBoot配置文件格式详细介绍

    SpringBoot配置文件格式详细介绍

    这篇文章主要为大家详细介绍了SpringBoot配置文件格式,文中的示例代码讲解详细,对我们学习SpringBoot有一定帮助,需要的可以参考一下
    2022-09-09
  • Maven依赖中scope的runtime和provied的区别及说明

    Maven依赖中scope的runtime和provied的区别及说明

    这篇文章主要介绍了Maven依赖中scope的runtime和provied的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • SpringBoot框架集成token实现登录校验功能

    SpringBoot框架集成token实现登录校验功能

    这篇文章主要为大家详细介绍了SpringBoot框架集成token实现登录校验功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • 关于maven本地仓库的配置方式

    关于maven本地仓库的配置方式

    这篇文章主要介绍了关于maven本地仓库的配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Java编程实现服务器端支持断点续传的方法(可支持快车、迅雷)

    Java编程实现服务器端支持断点续传的方法(可支持快车、迅雷)

    这篇文章主要介绍了Java编程实现服务器端支持断点续传的方法,涉及Java文件传输的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 详解JAVA 抽象类

    详解JAVA 抽象类

    这篇文章主要介绍了JAVA 抽象类的相关资料,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07

最新评论