用户输入名称创建文件夹

时间:2016-01-29 18:35:47

标签: java nullpointerexception

我正在尝试通过让用户键入文件夹的名称来创建文件夹:

Scanner scanner;
String inputUser;

public void createDir(String input){
    System.out.print("Please enter name of Folder: ");
    this.inputUser = this.scanner.next().toUpperCase();

    File makeDir = new File("C:\\" + this.inputUser);

    try{
        if(!makeDir.exists()){
            makeDir.mkdir();
            System.out.println("You have created directory " + makeDir.getName());
        }else{
            System.out.println("Directory with name " + makeDir.getName() + " already exists.");
        }
    }catch(Exception e){
        System.out.println("Error while creating directory name " + makeDir.getName());
    }
}

但每次运行时我都会收到以下错误消息:

  

线程“main”java.lang.NullPointerException中的异常   请输入文件夹的名称:at filemanagerapp.FileManagerSystem.createDir(FileManagerSystem.java:68)       在filemanagerapp.FileManagerApp.main(FileManagerApp.java:42)

Java结果:1

我注意到导致问题的行是this.inputUser,因为当我删除它并尝试编写要创建的文件夹的名称时,它通常创建没有问题,但我希望用户输入名称如果可能的话。

有谁能告诉我为什么会发生这种错误?

2 个答案:

答案 0 :(得分:0)

Scanner scanner替换为Scanner scanner = new Scanner(System.in)

答案 1 :(得分:0)

尝试添加扫描程序:

  Scanner scanner = new Scanner(System.in);
  inputUser = scanner.next().toUpperCase();