linux拋出找不到檔案異常的解決方法
Nov 14, 2019 am 11:05 AM
linux
例外
文件
解決方法
场景:
项目在windows下访问正常,linux下抛异常,找不到文件。
分析:
如果访问的项目文件是这样的:abc/bcd/aa.jpg ,而系统中访问文件的路径是:abc/Bcd/aa.jpg,两者的区别是二级目录bcd写成了Bcd。
如果在windows下开发的小伙伴们,是发现不了错误的,windows文件名大小写不敏感,因此,按照 abc/Bcd/aa.jpg依然能访问到文件,但是linux文件目录大小写敏感,因此会找不到文件。
解决方法:
在平时的编程中,一定要严格的书写。
还需要注意一点:linux目录分隔符是 /,windows下是\,因此有时在windows存到数据库里的文件路径搬到linux下就会不适用,需要在系统中做处理,从数据库取出路径后,要经过加工,代码如下:
/** * 修正路径,将 \\ 或 / 等替换为 File.separator * @param path 待修正的路径 * @return 修正后的路径 */ public static String path(String path){ String p = StringUtils.replace(path, "\\", "/"); p = StringUtils.join(StringUtils.split(p, "/"), "/"); if (!StringUtils.startsWithAny(p, "/") && StringUtils.startsWithAny(path, "\\", "/")){ p += "/"; } if (!StringUtils.endsWithAny(p, "/") && StringUtils.endsWithAny(path, "\\", "/")){ p = p + "/"; } if (path != null && path.startsWith("/")){ p = "/" + p; // linux下路径 } return p; }
登入後複製
推荐教程:Linux教程
以上是linux拋出找不到檔案異常的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)