繁体   English   中英

File.mkdir无法正常工作,我不明白为什么

[英]File.mkdir is not working and I can't understand why

我有一个简短的摘要:

String target = baseFolder.toString() + entryName;
                target = target.substring(0, target.length() - 1);
                File targetdir = new File(target);
                if (!targetdir.mkdirs()) {
                    throw new Exception("Errore nell'estrazione del file zip");
                }

是否保留最后一个字符并不重要(通常是一个斜杠)。 这样可以在Unix和Windows上工作。 该路径实际上是从基本文件夹的URI获得的。 从baseFolder.toString()中可以看到(baseFolder是URI类型,并且是正确的)。 基本文件夹实际上存在。 我无法调试它,因为从mkdir获得的所有信息都是对还是错,没有其他解释。奇怪的是baseFolder也可以通过mkdir创建,并且在这种情况下可以正常工作。

现在我在窗户下。


如果我在Windows探索中将其剪切并粘贴(没有最后一个条目),则在创建targetdir之前,target的值是“ file:/ C:/ Users / dario / jCommesse / jCommesseDB”。

您提供的路径不是文件路径,而是URI。 我建议您尝试以下方法:

URI uri = new URI("file://c:/foo/bar");
File f = new File(uri).

在我看来,似乎开头的“文件:/”是问题所在...尝试使用getAbsolutePath()而不是toString()。

带有StringFile构造函数需要一个路径名。 路径名不是 URI。

从String的file:/删除file:/ (或者更好的是,使用getPath()而不是toString() )到达所需的路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM