为了账号安全,请及时绑定邮箱和手机立即绑定

如何在`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 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信