1. 程式人生 > >message d:\WEB_APP_QuChongFu\file\五月.xlsx (檔名、目錄名或卷標語法不正確。)

message d:\WEB_APP_QuChongFu\file\五月.xlsx (檔名、目錄名或卷標語法不正確。)

原因是

檔名或資料夾名中不能出現以下字元:\   /   :   *   ?  "  <  >   |

但是後臺讀取到的附件的檔案路徑就是這樣的

 

網上大佬說了,這樣處理

replaceAll裡面用的是正則表示式,所以字串轉義一次,正則轉義一次,所以一個斜扛要寫4個,而不是倆,真心希望這些亂髮垃圾的部落格能被處理一下

① java 把字串中的反斜槓(\)替換成(\\)

replaceAll裡面用的是正則表示式,所以字串轉義一次,正則轉義一次,所以一個斜扛要寫4個,用replaceAll( "\\\\ ",   "\\\\\\\\ ");

② java 把字串中的反斜槓(/)替換成(\)

replaceAll("/", "\\\\");

執行結果