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

文章讲述了在Java中处理Windows和Linux系统文件上传时,使用和/符号引发的IOException问题。作者发现尽管在Windows中两者均可用,但推荐使用/作为跨平台路径,以提高代码的可移植性。
摘要由CSDN通过智能技术生成

      一. 起因  

        问题来源:最近在实现文件上传时,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的路径中,使用"/"也可以读取到文件,个人感觉,"/"的跨平台性更好,使用起来更加方便
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值