面试题答案
一键面试以下是使用File
类创建多级目录的Java代码:
import java.io.File;
import java.io.IOException;
public class CreateDirectories {
public static void main(String[] args) {
String directoryPath = "parent/child/grandchild";
File directory = new File(directoryPath);
if (directory.mkdirs()) {
System.out.println("目录创建成功");
} else {
System.out.println("目录创建失败");
}
}
}
可能遇到的异常及处理方式
- SecurityException:
- 原因:如果应用程序没有创建目录的权限,就会抛出此异常。例如,尝试在系统根目录下创建目录,而应用程序没有足够权限。
- 处理方式:可以使用
try - catch
块捕获异常,在捕获到异常后,可以向用户提示权限不足,或者记录日志等。例如:
try { if (directory.mkdirs()) { System.out.println("目录创建成功"); } else { System.out.println("目录创建失败"); } } catch (SecurityException e) { System.out.println("没有创建目录的权限"); e.printStackTrace(); }
- NullPointerException:
- 原因:如果
directoryPath
为null
,在创建File
对象时会抛出此异常。 - 处理方式:在创建
File
对象前先对路径进行非空检查。例如:
if (directoryPath != null) { File directory = new File(directoryPath); if (directory.mkdirs()) { System.out.println("目录创建成功"); } else { System.out.println("目录创建失败"); } } else { System.out.println("路径不能为空"); }
- 原因:如果