File.mkdir不工作,我不明白为什么
我有这个简短的片段:File.mkdir不工作,我不明白为什么
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");
}
,如果我离开的最后一个字符(通常是一个斜杠)不mattere。它通过这种方式在unix和windows上工作。该路径实际上是从基础文件夹的URI获取的。正如你可以从baseFolder.toString()看到的(baseFolder的类型是URI并且是正确的)。基本文件夹实际存在。我无法调试,因为我从mkdir得到的是真或假,没有其他解释。奇怪的是,baseFolder也是用mkdir创建的,在这种情况下它可以工作。
现在我在windows下。
目标只是建立TARGETDIR的前值是“文件:/ C:/用户/达里奥/ jCommesse/jCommesseDB” 如果我剪切和粘贴(不含最后一项)在Windows探索吧作品...
您提供的路径不是文件路径,而是URI。 我建议你试试以下内容:
URI uri = new URI("file://c:/foo/bar");
File f = new File(uri).
D'Oh!我错过了显而易见的构造函数! – 2010-03-22 15:21:17
D'ho! :D今天我厌倦大家对不起:D – gotch4 2010-03-22 15:27:13
它看起来,对我来说,就像在开始时的“file:/”是问题...尝试getAbsolutePath()而不是toString()。
File
constructor taking a String
需要一个路径名。路径名是而不是的URI。
从字符串的前面删除file:/
(或者更好的是,使用getPath()
而不是toString()
)以获得所需的路径。
'target'的值是多少?它是否包含'“file://”'? – 2010-03-22 15:05:30
标题可能已经以“not working”结尾:) – medopal 2010-03-22 15:33:01