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

File的常见成员方法(创建,删除)

一.File的常见成员方法(创建,删除):


二.方法的代码实现:

1.createNewFile方法->创建一个新的空的文件:

如上图直接调用createNewFile方法会报错,处理方案如下:

本例选择第一个:

package com.itheima.a01myfile;
​
import java.io.File;
import java.io.IOException;
​
public class FileDemo4 {public static void main(String[] args) throws IOException { //声明了一个异常//1.createNewFile方法->创建一个新的空的文件File f1=new File("D:\\JavaTest\\c.txt");boolean b = f1.createNewFile();System.out.println(b);//运行结果为true}
}
方法解读:createNewFile方法返回值为布尔类型,返回true代表文件创建成功,返回false代表文件创建失败

本例中D盘下的JavaTest文件夹存在,而且在D盘下的JavaTest文件夹下此时没有要创建的文件c.txt,执行本例的代码后即可创建文件c.txt

注:

1.在路径存在的情况下:若要创建的文件已经存在会导致要创建的文件创建失败,createNewFile方法也就返回false(代

码不报错,只是文件创建不了)。

2.在路径(父级路径)不存在的情况下:代码会直接报错,createNewFile方法会有异常IOException

3.在路径存在的情况下:(在要创建的不存在下)若要创建的没有后缀,则会创建一个没有后缀的文件,不是文件夹,更不会报错

package com.itheima.a01myfile;
​
import java.io.File;
import java.io.IOException;
​
public class FileDemo4 {public static void main(String[] args) throws IOException { //声明了一个异常//1.createNewFile方法->创建一个新的空的文件File f1=new File("D:\\JavaTest\\ddd");boolean b = f1.createNewFile();System.out.println(b);//运行结果为true}
}

-->createNewFile方法创建的一定是文件,如果没有后缀名,则创建一个没有后缀的文件。


2.mkdir(两个单词的缩写:make Directory,文件夹也叫目录-->创建目录即创建文件夹)方法-->创建单级文件

未执行mkdir方法前:

package com.itheima.a01myfile;
​
import java.io.File;
import java.io.IOException;
​
public class FileDemo4 {public static void main(String[] args) throws IOException { //声明了一个异常/*//1.createNewFile方法->创建一个新的空的文件File f1=new File("D:\\JavaTest\\ddd");boolean b = f1.createNewFile();System.out.println(b);//运行结果为true*/
​//2.mkdir(两个单词的缩写:make Directory,文件夹也叫目录-->创建目录即创建文件夹)File f2=new File("D:\\JavaTest\\ddd");boolean b = f2.mkdir();System.out.println(b);}
}

执行mkdir方法后b的结果为false,虽然D:\JavaTest\ddd路径存在,但创建失败,这是操作系统导致的,

在Windows操作系统中路径必须是唯一的,不能重复,此时创建的文件夹ddd已有的文件重名,因此无法创建

把路径改为D:\JavaTest\eee,此时唯一,即可创建文件夹eee

package com.itheima.a01myfile;
​
import java.io.File;
import java.io.IOException;
​
public class FileDemo4 {public static void main(String[] args) throws IOException { //声明了一个异常/*//1.createNewFile方法->创建一个新的空的文件File f1=new File("D:\\JavaTest\\ddd");boolean b = f1.createNewFile();System.out.println(b);//运行结果为true*/
​//2.mkdir(两个单词的缩写:make Directory,文件夹也叫目录-->创建目录即创建文件夹)File f2=new File("D:\\JavaTest\\eee");boolean b = f2.mkdir();System.out.println(b);}
}

细节:

1.Windows操作系统中路径是唯一的,如果当前路径已经存在或者有误,则创建失败,返回false

2.mkdir方法只能创建单级文件夹,无法创建多级文件夹,如下:

package com.itheima.a01myfile;
​
import java.io.File;
import java.io.IOException;
​
public class FileDemo4 {public static void main(String[] args) throws IOException { //声明了一个异常/*//1.createNewFile方法->创建一个新的空的文件File f1=new File("D:\\JavaTest\\ddd");boolean b = f1.createNewFile();System.out.println(b);//运行结果为true*/
​//2.mkdir(两个单词的缩写:make Directory,文件夹也叫目录-->创建目录即创建文件夹)File f2=new File("D:\\JavaTest\\JavaTest\\eee\\ccc");boolean b = f2.mkdir();System.out.println(b);}
}

上述代码中b的值为false。


3.mkdirs方法--> 创建多级文件夹(也可以创建单级文件夹):

未执行mkdirs方法前:

执行mkdirs方法后:

package com.itheima.a01myfile;
​
import java.io.File;
import java.io.IOException;
​
public class FileDemo4 {public static void main(String[] args) throws IOException { //声明了一个异常/*//1.createNewFile方法->创建一个新的空的文件File f1=new File("D:\\JavaTest\\ddd");boolean b = f1.createNewFile();System.out.println(b);//运行结果为true*/
​/*//2.mkdir(两个单词的缩写:make Directory,文件夹也叫目录-->创建目录即创建文件夹)File f2=new File("D:\\JavaTest\\JavaTest\\eee\\ccc");boolean b = f2.mkdir();System.out.println(b);*/
​//3.mkdirs 创建多级文件夹File f3=new File("D:\\JavaTest\\JavaTest\\eee\\ccc");boolean b = f3.mkdirs();System.out.println(b);}
}
​

注:

mkdirs方法也可以创建单级文件夹,如下:

未执行mkdirs方法前:

执行mkdirs方法后:

package com.itheima.a01myfile;
​
import java.io.File;
import java.io.IOException;
​
public class FileDemo4 {public static void main(String[] args) throws IOException { //声明了一个异常/*//1.createNewFile方法->创建一个新的空的文件File f1=new File("D:\\JavaTest\\ddd");boolean b = f1.createNewFile();System.out.println(b);//运行结果为true*/
​/*//2.mkdir(两个单词的缩写:make Directory,文件夹也叫目录-->创建目录即创建文件夹)File f2=new File("D:\\JavaTest\\JavaTest\\eee\\ccc");boolean b = f2.mkdir();System.out.println(b);*/
​//3.mkdirs 创建多级文件夹File f3=new File("D:\\JavaTest\\ggg");boolean b = f3.mkdirs();System.out.println(b);}
}

mkdirs方法既可以创建多级文件夹,也可以创建单级文件夹,所以mkdir方法可以不用,但mkdir方法存在的最大意义在于mkdirs方法底层要用到mkdir方法-->所以mkdirs方法可以创建单级文件夹,如下:


4.delete方法-->删除文件,空文件夹:

未执行delete方法前:

a.删除文件:

执行delete方法后:

package com.itheima.a01myfile;
​
import java.io.File;
​
public class FileDemo5 {public static void main(String[] args) {//1.创建File对象File f1=new File("D:\\JavaTest\\c.txt");
​//2.删除boolean b = f1.delete();
​//3.打印结果System.out.println(b);}
}

删除成功,而且不会到回收站,删除就真的彻底删除了。

b.删除非空文件夹:(本例中JavaTest为非空文件夹)
package com.itheima.a01myfile;import java.io.File;public class FileDemo5 {public static void main(String[] args) {//1.创建File对象File f1=new File("D:\\JavaTest\\JavaTest");//2.删除boolean b = f1.delete();//3.打印结果System.out.println(b);//运行结果为false}
}

执行代码后:

上述代码表明delete方法不能删除非空文件夹。

c.删除空文件夹:(本例中eee为空文件夹)
package com.itheima.a01myfile;import java.io.File;public class FileDemo5 {public static void main(String[] args) {//1.创建File对象File f1=new File("D:\\JavaTest\\eee");//2.删除boolean b = f1.delete();//3.打印结果System.out.println(b);//运行结果为true}
}

执行代码后:

空文件夹eee删除成功,并且不会进回收站,删除了就真的彻底删除了。

d.注:

细节:如果删除的是文件,则直接删除,不走回收站。

如果删除的是空文件夹,则直接删除,不走回收站。

如果删除的是非空文件夹,则删除失败。


相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C++ Primer Plus习题】2.2
  • xss靶场 pwnfunction WW3
  • EMC学习之接地与平面
  • 表格解析调研
  • 【Python】函数进阶(下)
  • 写给大数据开发:在Databricks中自定义函数
  • 前端开发攻略---在Vue3项目中修改Element-Plus主题色
  • Kubernetes-Pod调度基础
  • 昇腾 - AscendCL C++应用开发 图像文件的解码时硬件对图像的宽度和高度的处理方式
  • Python开发中,SQLAlchemy 的同步操作和异步操作封装,以及常规CRUD的处理。
  • Java 3.1 - 计算机网络
  • dubbo:dubbo+zookeeper整合nginx实现网关(四)
  • oracle liunx 常用命令
  • OpenID Connect(OIDC)认证--keycloak与springboot项目的整合
  • SpringBoot的内置缓存以及整合第三方缓存
  • Java|序列化异常StreamCorruptedException的解决方法
  • JavaScript函数式编程(一)
  • JAVA并发编程--1.基础概念
  • Koa2 之文件上传下载
  • Median of Two Sorted Arrays
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • python_bomb----数据类型总结
  • python学习笔记-类对象的信息
  • Python学习之路16-使用API
  • TCP拥塞控制
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 近期前端发展计划
  • 入门到放弃node系列之Hello Word篇
  • 软件开发学习的5大技巧,你知道吗?
  • 使用SAX解析XML
  • 为什么要用IPython/Jupyter?
  • 异常机制详解
  • 用jQuery怎么做到前后端分离
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • ‌移动管家手机智能控制汽车系统
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #APPINVENTOR学习记录
  • #Lua:Lua调用C++生成的DLL库
  • #传输# #传输数据判断#
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • ${ }的特别功能
  • (+4)2.2UML建模图
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (2)STM32单片机上位机
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (第一天)包装对象、作用域、创建对象
  • (二)WCF的Binding模型
  • (六)软件测试分工
  • (顺序)容器的好伴侣 --- 容器适配器
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)socket Aio demo