亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在`java.nio.file.Path`中用forwardSlash(/)替換

如何在`java.nio.file.Path`中用forwardSlash(/)替換

MYYA 2023-11-01 21:44:22
我正在保存多部分文件,并且正在使用類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("\\","/");


查看完整回答
反對 回復 2023-11-01
?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

給定一個Path具有 的對象C:\\aaaa\\bbbb,只需將所有雙黑斜杠替換為正斜杠

path.toString().replaceAll("\\\\", "/");

輸出:C:/aaaa/bbbb


查看完整回答
反對 回復 2023-11-01
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

將完整路徑轉換為字符串并使用正則表達式,例如

String str = fPath.toString();
str = str.replace("\\", "/");


查看完整回答
反對 回復 2023-11-01
  • 3 回答
  • 0 關注
  • 198 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號