我正在保存多部分文件,并且正在使用類Path。java.nio.file.Path在這個文件中,Path我得到了路徑C:\for\expample\,但我需要這樣的路徑C:/for/expample/。在這里,我分享我嘗試過的代碼,但不幸的是,我沒有得到帶有正斜杠的真實路徑。public String saveFile(MultipartFile theFile, String rootPath, String filePath , String fileNme) throws Exception { try { Path fPath = null; if(theFile != null) { Path path = Paths.get(rootPath, filePath); if(Files.notExists(path)) { //Create directory if one does not exists Files.createDirectories(path); } String fileName; //Create a new file at that location if(fileNme == "") { fileName = theFile.getOriginalFilename(); }else { fileName = fileNme; } fPath = Paths.get(rootPath, filePath, fileName); if(Files.isRegularFile(fPath) && Files.exists(fPath)) { Files.delete(fPath); } StringWriter writer = new StringWriter(); IOUtils.copy(theFile.getInputStream(), writer, StandardCharsets.UTF_8); File newFile = new File(fPath.toString()); newFile.createNewFile(); try (OutputStream os = Files.newOutputStream(fPath)) { os.write(theFile.getBytes()); } } return this.replaceBackslashes(fPath == null ? "" :fPath.normalize().toString()); }catch (IOException e) { e.printStackTrace(); throw new Exception("Error while storing the file"); } }
3 回答

慕的地6264312
TA貢獻1817條經驗 獲得超6個贊
嘗試
return fPath == null ? "" : fPath.normalize().toString().replace("\\","/");

狐的傳說
TA貢獻1804條經驗 獲得超3個贊
給定一個Path
具有 的對象C:\\aaaa\\bbbb
,只需將所有雙黑斜杠替換為正斜杠
path.toString().replaceAll("\\\\", "/");
輸出:C:/aaaa/bbbb

縹緲止盈
TA貢獻2041條經驗 獲得超4個贊
將完整路徑轉換為字符串并使用正則表達式,例如
String str = fPath.toString(); str = str.replace("\\", "/");
添加回答
舉報
0/150
提交
取消