Java操作文件路徑正反斜杠問(wèn)題解決
一. 起因
問(wèn)題來(lái)源:最近在實(shí)現(xiàn)文件上傳時(shí),windows與linux系統(tǒng)出現(xiàn)的問(wèn)題,兩個(gè)系統(tǒng)中操作文件使用"\","/"導(dǎo)致IOException
二. 測(cè)試正反斜桿
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 "獲取成功"; } }
運(yùn)行結(jié)果
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 "獲取成功"; } }
運(yùn)行結(jié)果
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 "獲取成功"; } }
運(yùn)行結(jié)果
2.4 小結(jié)
在java中操作文件時(shí),無(wú)論正反斜桿都是可以的,在用到\\(雙反斜杠,前面一個(gè)反斜杠代表轉(zhuǎn)義符),而如果直接轉(zhuǎn)義反斜杠則會(huì)報(bào)錯(cuò)
三. 使用建議
經(jīng)過(guò)查詢各種資料后,得出以下結(jié)論
- java中的路徑一般用"/"
- windows中的路徑一般用"\",而"\"需要轉(zhuǎn)義,因此需要寫(xiě)成"\\"
- linux、unix中的路徑一般用"/"
由于Windows的路徑中,使用"/"也可以讀取到文件,個(gè)人感覺(jué),"/"的跨平臺(tái)性更好,使用起來(lái)更加方便
到此這篇關(guān)于Java操作文件路徑正反斜杠問(wèn)題解決的文章就介紹到這了,更多相關(guān)Java 路徑正反斜杠內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis-plus 批量插入太慢的問(wèn)題解決(提升插入性能)
公司使用的Mybatis-Plus操作SQL,用過(guò)Mybatis-Plus的小伙伴一定知道他有很多API提供給我們使用,但是批量插入大數(shù)據(jù)太慢應(yīng)該怎么解決,本文就詳細(xì)的介紹一下,感興趣的可以了解一下2021-11-11JSON字符串轉(zhuǎn)成java的Map對(duì)象詳細(xì)步驟
這篇文章主要介紹了如何將JSON字符串轉(zhuǎn)換為Java對(duì)象的步驟,包括定義Element類、使用Jackson庫(kù)解析JSON和添加依賴,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01關(guān)于Springboot+gateway整合依賴并處理依賴沖突問(wèn)題
這篇文章主要介紹了Springboot+gateway整合依賴并處理依賴沖突問(wèn)題,給大家提到了spring boot版本和spring cloud版本,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01SpringBoot中Redisson延遲隊(duì)列的示例
延時(shí)隊(duì)列是一種常見(jiàn)的需求,延時(shí)隊(duì)列允許我們延遲處理某些任務(wù),本文主要介紹了Redisson延遲隊(duì)列的示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06編寫(xiě)android撥打電話apk應(yīng)用實(shí)例代碼
這篇文章主要介紹了編寫(xiě)android撥打電話apk應(yīng)用實(shí)例代碼,十分的實(shí)用,這里分享給大家,有需要的小伙伴可以參考下2015-04-04SpringBoot實(shí)現(xiàn)類似鉤子函數(shù)的方法
這篇文章主要給大家介紹了關(guān)于SpringBoot實(shí)現(xiàn)類似鉤子函數(shù)的方法,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-04-04