如何创建多个目录



我是编程的新手,最近试图制作一个简单的程序来创建带有我想要的名称的多个目录。它正在工作,但在开始时,它在不问我的情况下添加了第一个"数字"。之后,我可以制作任意多的文件夹。

public class Main {
public static void main(String args[]) throws IOException{
    Scanner sc = new Scanner(System.in);
    System.out.println("How many folders do you want?: ");
    int number_of_folders = sc.nextInt();
    String folderName = "";
    int i = 1;
    do {
        System.out.println("Folder nr. "+ i);
        folderName = sc.nextLine();
        try {
            Files.createDirectories(Paths.get("C:/new/"+folderName));
            i++;
        }catch(FileAlreadyExistsException e){
            System.err.println("Folder already exists");
        }
    }while(number_of_folders > i);
}
}

如果我选择制作5个文件夹,则正在发生类似的情况:

 1。您想要几个文件夹?:2. 53.文件夹NR。04.文件夹NR。15.//,直到现在我才能将其命名为第一个文件夹NAD它将被创建。

如果这是一个愚蠢的问题,我将立即将其删除。预先感谢您。

这是因为您的sc.nextInt()在此行中:

int number_of_folders = sc.nextInt();

不消耗最后的newline字符。

当您输入输入的目录时,它也具有ASCII值(10)。当您阅读NextInt时,Newline字符尚未阅读,NextLine()首先收集该行,而不是正常继续使用您的下一个输入。

在这种情况下,您可以将mkdir类的CC_2部分使用如下:

String directoryName = sc.nextLine();
File newDir = new File("/file/root/"+directoryName);
if (!newDir.exists()) { //Don't try to make directories that already exist
    newDir.mkdir();
}

应该清楚如何将其纳入您的代码。

相关内容

  • 没有找到相关文章

最新更新