Java操作文件路径正反斜杠问题解决
作者:糊涂涂糊涂涂
最近在实现文件上传时,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 路径正反斜杠内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!