gpt4 book ai didi

java - mkdir() Java 不断抛出 IOException

转载 作者:行者123 更新时间:2023-12-01 17:14:53 26 4
gpt4 key购买 nike

我正在尝试在当前工作目录中创建一个标题为 url 的目录。但是,我将该 url 转换为哈希值,然后转换为十六进制,因此我尝试创建的目录名称类似于 273212b1。但是,每当我执行代码时,它都会抛出 IOException 并且无法创建目录。我不确定我做错了什么。

即使我做了类似 File Directory = new File ("Users/whatever/Documents"+ dirname); 的操作它不起作用。

最佳答案

您没有使用哈希或十六进制创建目录,而是尝试使用 URL 创建目录。相关步骤如下:

使用 s = 某个 URL 调用该方法:

public static File mkdir(String s) throws IOException

将 URL 复制到名为 dirname 的变量中:

String dirname = s;

您将 s 设置为哈希的十六进制(这不会更改 dirname 的值):

s = Integer.toHexString(dirname.hashCode());

您创建一个代表目录的 File 对象,该目录具有名称的 URL:

File directory = new File(dirname);

当您尝试创建该目录时,它不会工作,因为 URL 中的所有字符对于目录名称都无效。

你应该这样做:

File directory = new File(s);

解决该问题后,您将需要按如下方式处理目录的双重创建:

if (directory.exists()) {
System.out.println("Directory already exists!");
} else {
success = directory.mkdir();
if (success) {
System.out.println("Successful");
} else {
throw new IOException("can't make directory for " + s);
}
}

关于java - mkdir() Java 不断抛出 IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22675796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com