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 路径正反斜杠内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
mybatis-plus如何修改日志只打印SQL语句不打印查询结果
这篇文章主要介绍了mybatis-plus如何修改日志只打印SQL语句不打印查询结果问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-06-06
Maven依赖中scope的runtime和provied的区别及说明
这篇文章主要介绍了Maven依赖中scope的runtime和provied的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-11-11
Java编程实现服务器端支持断点续传的方法(可支持快车、迅雷)
这篇文章主要介绍了Java编程实现服务器端支持断点续传的方法,涉及Java文件传输的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下2015-11-11


最新评论