我正在保存多部分文件,并且正在使用類Path。java.nio.file.Path在這個(gè)文件中,Path我得到了路徑C:\for\expample\,但我需要這樣的路徑C:/for/expample/。在這里,我分享我嘗試過的代碼,但不幸的是,我沒有得到帶有正斜杠的真實(shí)路徑。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貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
嘗試
return fPath == null ? "" : fPath.normalize().toString().replace("\\","/");

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

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