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中多线程下载图片并压缩能提高效率吗,很多人都想知道这个问题,本文就来详细介绍一下,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Mybatis批量修改的操作代码

    Mybatis批量修改的操作代码

    这篇文章主要介绍了Mybatis批量修改的操作代码,包括整体批量修改的详细代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2017-09-09
  • Mybatis-plus 批量插入太慢的问题解决(提升插入性能)

    Mybatis-plus 批量插入太慢的问题解决(提升插入性能)

    公司使用的Mybatis-Plus操作SQL,用过Mybatis-Plus的小伙伴一定知道他有很多API提供给我们使用,但是批量插入大数据太慢应该怎么解决,本文就详细的介绍一下,感兴趣的可以了解一下
    2021-11-11
  • JSON字符串转成java的Map对象详细步骤

    JSON字符串转成java的Map对象详细步骤

    这篇文章主要介绍了如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-01-01
  • Java二叉树的四种遍历(递归与非递归)

    Java二叉树的四种遍历(递归与非递归)

    这篇文章小编给大家分享的是Java二叉树的四种遍历,主要是递归与非递归,下面文章加u来详细介绍,感兴趣的小伙伴一起来学习吧
    2021-10-10
  • 关于Springboot+gateway整合依赖并处理依赖冲突问题

    关于Springboot+gateway整合依赖并处理依赖冲突问题

    这篇文章主要介绍了Springboot+gateway整合依赖并处理依赖冲突问题,给大家提到了spring boot版本和spring cloud版本,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • SpringBoot中Redisson延迟队列的示例

    SpringBoot中Redisson延迟队列的示例

    延时队列是一种常见的需求,延时队列允许我们延迟处理某些任务,本文主要介绍了Redisson延迟队列的示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • 编写android拨打电话apk应用实例代码

    编写android拨打电话apk应用实例代码

    这篇文章主要介绍了编写android拨打电话apk应用实例代码,十分的实用,这里分享给大家,有需要的小伙伴可以参考下
    2015-04-04
  • SpringBoot实现类似钩子函数的方法

    SpringBoot实现类似钩子函数的方法

    这篇文章主要给大家介绍了关于SpringBoot实现类似钩子函数的方法,文中通过代码示例介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-04-04
  • Java MapStruct解了对象映射的毒

    Java MapStruct解了对象映射的毒

    这篇文章主要介绍了MapStruct解了对象映射的毒,对MapStruct感兴趣的同学,可以参考下
    2021-04-04

最新评论