我正在保存多部分文件,并且正在使用类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
提交
取消