作业 2- 7
来源:2-7 自由编程
jia_蛙
2019-09-10 18:15:54
public class FileDemo1 { public static void main(String[] args) { //创建File对象 File file = new File("B:\\File\\Monday.docx"); //判断文件是否创建成功 if(!file.exists()) { try { //文件不存在时,则创建 file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } System.out.println("创建文件成功!"); System.out.println("文件名称: " + file.getName()); System.out.println("文件上一级目录:" + file.getParent()); } String str = null; //判断是否是文件还是目录 if(file.isDirectory()) { str = "目录"; System.out.println("文件/目录:这是一个目录"); }else if(file.isFile()){ str = "文件"; System.out.println("文件/目录:这是一个文件"); } //判读读写性 if(file.canRead() && file.canWrite()) { System.out.println("读写性:这个" + str + "可读也可以写"); }else if(file.canRead()) { System.out.println("读写性:这个" + str + "只可以读"); }else if(file.canWrite()) { System.out.println("读写性: 这个" + str + "只可以写"); } } 结果: 创建文件成功! 文件名称: Monday.docx 文件上一级目录:B:\File 文件/目录:这是一个文件 读写性:这个文件可读也可以写
1.老师 ,有没有什么方法 可以直接返回上一级的目录名,就是不带盘符的 文件上一级目录:B:\File -- > 文件上一级目录:File
2. 如果我创建File对象的时候的路径是错误的话,它会抛异常样,不是应该没有就会去创建嘛? 而且后面也没有判断是文件还是目录,我看了一下,如果路径是错误根本就不会创建出来。
1回答
同学你好,
1、可以使用 file.getParentFile().getName(),首先使用getParentFile()获得父目录的文件对象,然后通过.getName()获取父目录的文件名。具体修改如下:
2、同学可以看一下抛出的异常位置是在如下位置,也就是createNewFile() 处,并不是创建File对象处:
抛出异常的具体原因如下:
createNewFile() 方法的含义是根据路径创建一个新的空文件而不能创建目录,如果没有在电脑上新建目录则会报IO异常。
该方法表示如果指定的文件不存在并成功地创建,则返回 true;如果指定的文件已经存在,则返回 false。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!