虚拟机中HDFS上的文件下载的本地的系统老是有问题?

java项目老是把String downloadPath="D:\netdisk\download\"; 变成一个文件名然后下载到项目中,是为什么呢。
不管是用流下载的方式:
FileSystem fs = FileSystem.get(URI.create(hdfsService), conf);
FSDataInputStream in = fs.open(new Path(path));
FileOutputStream out = new FileOutputStream(local);
IOUtils.copyBytes(in, out, 4096, true);

还是copyToLocalFile
FileSystem fs = FileSystem.get(URI.create(hdfsService), conf);
// fs.copyToLocalFile(path, new Path(local));
Path pt = new Path(local);
fs.copyToLocalFile(false, new Path(remote), pt, true);
只要路径是上面写的那个下载路径,都会变成下面这样存入到了项目的目录中
D^%@%netdisk@%download@%4.txt
求各位大佬解答

先判断一下是目录还是文件吧,如果是文件再做下载操作。

if(pt.isFile(){

    // 下载操作

}

和你使用的方法有关系,你最好看看源码是如何处理的。不是你写了绝对路径就会按照绝对路径来进行解析的。有些类就是只用于相对路径的。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y