当前位置: 首页 > news >正文

6.综合练习1-创建文件

题目:


分析:

本例中使用mkdirs方法创建aaa文件夹。

题目要求是"在当前模块下的aaa文件夹",此时在左侧的目录中,是没有aaa文件夹的,所以要先创建a.txt文件的父级路径aaa文件夹,由于是在当前模块下操作,所以用相对路径(不带磁盘的路径)即可->注:这里不需要调用exists方法判断aaa文件夹是否存在,因为如果要创建的aaa文件夹已经存在,那么会创建失败,方法mkdirs返回false,如果aaa文件夹不存在,才会成功创建,方法mkdirs返回true

步骤一:创建a.txt文件的父级路径即文件夹aaa

创建a.txt文件的父级路径aaa,这里不能用MyFile\aaa,因为当前模块下就是在MyFile文件夹下,此时已经在MyFile文件夹里了,所以直接传入要创建的aaa文件夹即可,不能传入MyFile\aaa

//1.创建a.txt文件的父级路径
        File file=new File("aaa"); //由于是在当前模块下操作,所以用相对路径(不带磁盘的路径)即可

步骤二:创建父级路径即创建aaa文件夹->这里无需判断aaa文件夹是否存在,因为如果aaa文件夹存在的话是无法创建的,之后直接用已有的aaa文件夹即可,只有aaa文件夹不存在才会创建成功

//2.创建父级路径
        file.mkdirs();

步骤三:拼接父级路径和子级路径->父级路径:file即aaa文件夹;子级路径:a.txt,代表a.txt文件在aaa文件夹下

//3.拼接父级路径和子级路径->父级路径:file;子级路径:a.txt
        File src=new File(file,"a.txt");

步骤四:创建最终的a.txt文件(注:创建的是文件,要用createNewFile方法)

//4.创建最终的a.txt文件
        boolean b = src.createNewFile();

步骤五:判断

//5.判断
        if(b){
            System.out.println("创建成功"); //如果a.txt文件不存在就会创建成功
        }else {
            System.out.println("创建失败"); //如果a.txt文件存在就会创建失败
        }

细节1:

当前模块下未创建aaa文件夹之前,左边的目录中是没有aaa文件夹的:

代码:

运行上述代码后,运行结果如下:

上述图片中,此时左边的目录中就会有aaa文件夹,该文件夹中会有一个a.txt文件。

如果此时再次运行代码,运行结果如下:

如上图所示,就会创建失败,因为文件夹aaa里的a.txt已经存在。

细节2:针对于步骤一,如果传入的参数是MyFile\aaa(使用mkdirs方法创建文件夹aaa,mkdirs方法可以创建单级文件夹,也可以创建多级文件夹)

未运行代码前,如下图所示:

运行上述代码后,运行结果如下:

如下图所示,此时就会在MyFile文件夹下再次创建一个MyFile文件夹,然后才会创建aaa文件夹以及aaa文件夹里的a.txt文件,不符合题意,所以只传参数aaa即可:

细节3:如果采用mkdir方法创建aaa文件夹(mkdir方法只能创建单级文件夹)

如下图所示,未运行代码前:

如下图所示,运行上述代码实际会报错,因为此时已经在MyFile模块文件夹下,MyFile模块文件夹的目录中还没有MyFile文件夹,此时传入MyFile\aaa,MyFile\aaa代表要在MyFile文件夹中创建aaa文件夹,就相当于MyFile模块文件夹下还要创建MyFile文件夹,然后再创建aaa文件夹,MyFile模块文件夹下还要创建MyFile文件夹即创建了多级文件夹,由于mkdir方法只能创建单级文件夹,此时不符合mkdir方法的用法,所以会报错:

此时把参数MyFile\aaa改为aaa就行了:

未运行下述代码前,此时左侧的目录里还没有aaa文件夹

运行上述代码后,结果如下:


解答:

法一:使用mkdirs方法创建文件夹aaa

package com.itheima.a02Test;
​
import java.io.File;
import java.io.IOException;
​
public class Test1 {
    public static void main(String[] args) throws IOException {
        //1.创建a.txt文件的父级路径
        File file=new File("aaa"); //由于是在当前模块下操作,所以用相对路径(不带磁盘的路径)即可
​
        //2.创建父级路径
        file.mkdirs();
​
        //3.拼接父级路径和子级路径->父级路径:file;子级路径:a.txt
        File src=new File(file,"a.txt");
​
        //4.创建最终的a.txt文件
        boolean b = src.createNewFile();
​
        //5.判断
        if(b){
            System.out.println("创建成功"); //如果a.txt文件不存在就会创建成功
        }else {
            System.out.println("创建失败"); //如果a.txt文件存在就会创建失败
        }
    }
}
​

法二:使用mkdir方法创建文件夹aaa

package com.itheima.a02Test;
​
import java.io.File;
import java.io.IOException;
​
public class Test1 {
    public static void main(String[] args) throws IOException {
        //1.创建a.txt文件的父级路径
        File file=new File("aaa"); //由于是在当前模块下操作,所以用相对路径(不带磁盘的路径)即可
​
        //2.创建父级路径
        file.mkdir();
​
        //3.拼接父级路径和子级路径->父级路径:file;子级路径:a.txt
        File src=new File(file,"a.txt");
​
        //4.创建最终的a.txt文件
        boolean b = src.createNewFile();
​
        //5.判断
        if(b){
            System.out.println("创建成功"); //如果a.txt文件不存在就会创建成功
        }else {
            System.out.println("创建失败"); //如果a.txt文件存在就会创建失败
        }
    }
}

相关文章:

  • 三轴云台之姿态测量系统篇
  • 10-python面向对象(上)
  • 汽车电子笔记之:基于Tasking编译器怎么制作库文件并将库文件集成进工程释放
  • 内容中台的数字化管理核心是什么?
  • `ConstantPositionProperty` 的使用与应用
  • 汇丰xxx
  • Java学习笔记(多线程):ReentrantLock 源码分析
  • java基础 可拆分迭代器 Spliterator<T>
  • 行星际空间的磁流体动力激波:理论综述
  • 深圳市杉川机器人Verify入职测评SHL题库真题考什么?
  • 蓝桥20250-字符串拼接
  • 爱普生RTC模块RA8804CE在ADAS域控制器的应用
  • ES:账号、索引、ILM
  • Android XML布局与Compose组件对照手册
  • 畅游Diffusion数字人(21):基于Wan2.1的音频驱动数字人FantasyTalking
  • wordpress 利用 All-in-One WP Migration全站转移
  • 蓝桥杯 第 28 场 蓝桥入门赛
  • Java 进阶-全面解析
  • CPT208 Human-Centric Computing 人机交互 Pt.2 Prototype(原型)
  • 算力驱动未来:从边缘计算到高阶AI的算力革命