软件编程
位置:首页>> 软件编程>> java编程>> file.mkdir()、file.mkdirs()和file.createNewFile()的区别

file.mkdir()、file.mkdirs()和file.createNewFile()的区别

作者:EzreaLwj  发布时间:2023-12-18 10:18:52 

标签:file.mkdir(),file.mkdirs(),file.createNewFile()

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();
               }
           }
       });
   }
}

页面布局上有个按钮,点击按钮创建文件,在点击之前先看一看应用内存的文件目录,好知道这个过程发生了啥,点击前目录如下:

file.mkdir()、file.mkdirs()和file.createNewFile()的区别

从目录中看到只有一个文件夹和两个文件,运行上面程序后我们来看看变化:

file.mkdir()、file.mkdirs()和file.createNewFile()的区别

从图中可以看到,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();

file.mkdir()、file.mkdirs()和file.createNewFile()的区别

运行程序后文件目录并没有发现有新增的文件或文件夹。

来源:https://juejin.cn/post/7223673824529563704

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com