如何判断一个录入的一个字符串是否是文件夹和文件夹目录,刚开始我是考虑用正则方法来写,并且判断之,弄了好半天总是弄不对,最近便想了一个更好的方式——只要判断文件夹是否存在或者是不是文件夹就可以得到了,希望对自己以后有用吧。附上录入判断的代码和正则表达式的daima:
private static File getFile() {
Scanner scanner=new Scanner(System.in);
System.out.print("请输入一个文件路径:");
while(true){
File file=new File(scanner.nextLine());
if (!file.exists()) {
System.out.println("您输入的文件不存在,请重新输入:");
continue;
}
if (!file.isDirectory()) {
System.out.println("您输入的不是文件夹,请重新输入:");
continue;
}
return file;
}
}
Scanner scanner=new Scanner(System.in);
System.out.print("请输入一个文件路径:");
while (true) {
String str=scanner.nextLine();
//用正则表达式判断输入的字符串是否符合路径格式
if (str.matches("[a-zA-Z]:(/.+)*")) {//正则表达式不够严谨可以录入多个斜线
File file=new File(str);
if (!file.exists()) {
file.createNewFile();
System.out.println("文件不存在,创建成功");
}else {
System.out.println(file.length());
}
break;
}else {
System.out.println("格式不正确,请重新输入路径:");
}
}
scanner.close();