1)Linux下路徑和文件名都是區分大小寫的
abc/bcd/aa.jpg和abc/Bcd/aa.jpg是兩個不同的文件路徑,window訪問沒問題,Linux大小寫敏感會導致找不到文件
2)盤符及目錄分隔符的區別
父子目錄及目錄與文件的分隔符,Windows是\,而Linux是/,java編碼最好使用File.separator(能夠自動識別Widow或者Linux,使用想用的分隔符)
兩個不同路徑分隔符,window下;,Linux下為:,java編碼最好使用File.pathSeparator
3)個人實踐
File file = new File("C:\download/pic/1.jpg")可以被java識別,因此web項目中properties文件中配置文件存放根路徑,
Windows下為C:\download,Linux下為/download,數據庫中僅存放/pic/1.jpg這樣的文件訪問路徑(這種分隔符也符合web資源的請求)
4)在linux 下java 的默認的文件寫入權限僅局限在執行目錄之下。如果需要在其他目錄寫入文件或者文件夾 需要手動設置以下權限。(有時間測試一下)
File f=new File("/home/sxl/out");
f.setWritable(true, false);
