我正在尝试通过让用户键入文件夹的名称来创建文件夹:
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
,因为当我删除它并尝试编写要创建的文件夹的名称时,它通常创建没有问题,但我希望用户输入名称如果可能的话。
有谁能告诉我为什么会发生这种错误?
答案 0 :(得分:0)
将Scanner scanner
替换为Scanner scanner = new Scanner(System.in)
答案 1 :(得分:0)
尝试添加扫描程序:
Scanner scanner = new Scanner(System.in);
inputUser = scanner.next().toUpperCase();