file.mkdir()、file.mkdirs()和file.createNewFile()的区别
作者:EzreaLwj 时间:2023-12-18 10:18:52
file.mkdir()创建单级文件夹,file.mkdirs()创建多级文件夹,file.createNewFile()创建的是一个文件。
下面通过一个demo来验证一下:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File internalFile = getCacheDir();
String internalPath = internalFile.getPath();
File file1 = new File(internalPath,"demo1");
File file2 = new File(internalPath,"demo2/demo");
File file3 = new File(internalPath,"demo3/demo");
File file4 = new File(internalPath+"/demo3","demo4");
file2.mkdir();
file3.mkdirs();
file4.mkdir();
try {
file1.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}
页面布局上有个按钮,点击按钮创建文件,在点击之前先看一看应用内存的文件目录,好知道这个过程发生了啥,点击前目录如下:
从目录中看到只有一个文件夹和两个文件,运行上面程序后我们来看看变化:
从图中可以看到,file1调用方法file.createNewFile()创建的是一个文件;file2是一个多级目录调用file.mkdir()方法没有创建成功;file3也是一个多级目录调用方法file.mkdirs()方法创建成功;file4是和file2做对比的,以file3的父目录作为父目录调用方法file.mkdir()创建单级文件夹成功;最后我们再加两行代码看看多级目录使用file.createNewFile()方法能否创建成功:
File file5 = new File(internalPath,"demo5/demo");
file5.createNewFile();
运行程序后文件目录并没有发现有新增的文件或文件夹。
来源:https://juejin.cn/post/7223673824529563704
标签:file.mkdir(),file.mkdirs(),file.createNewFile()
0
投稿
猜你喜欢
c#中文转unicode字符示例分享
2022-05-26 05:07:47
C#词法分析器之词法分析的使用详解
2022-01-26 04:22:13
springMVC实现图形验证码(kaptcha)代码实例
2022-02-14 22:02:14
Android App中实现可以双击放大和缩小图片功能的实例
2023-04-01 16:41:17
Java求字符串中出现次数最多的字符串以及出现次数
2023-06-03 03:45:34
Java中启动线程start和run的两种方法
2023-09-12 10:58:29
Android 高仿微信语音聊天页面高斯模糊(毛玻璃效果)
2021-09-27 18:56:46
Springboot集成ClickHouse及应用场景分析
2022-04-02 16:28:46
Spring整合Springmvc的相关介绍
2022-03-30 10:47:08
Flutter开发技巧ListView去除水波纹方法示例
2021-12-27 14:15:24
java实现http的Post、Get、代理访问请求
2021-10-30 08:13:47
SpringMVC4 + MyBatis3 + SQL Server 2014整合教程(含增删改查分页)
2023-09-27 01:47:32
深入讲解java线程与synchronized关键字
2023-08-29 13:56:00
Java中线程状态+线程安全问题+synchronized的用法详解
2023-08-23 08:38:07
浅析C#中数组,ArrayList与List对象的区别
2022-03-12 00:41:30
c# 通过经纬度查询 具体的地址和区域名称
2023-08-15 11:41:53
Java图形用户界面设计(Swing)的介绍
2022-08-23 03:29:37
深入理解Java设计模式之状态模式
2022-07-07 12:49:44
java内部类原理与用法详解
2022-12-04 14:41:25
一个Servlet是如何处理多个请求的?
2023-01-18 11:19:32