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

发布时间:2023-04-20 16:33:07 作者:iii
来源:亿速云 阅读:140

本篇内容介绍了“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()的区别是什么

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

“file.mkdir()、file.mkdirs()和file.createNewFile()的区别是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. 利用Ajax怎么实现一个页面无刷新留言效果
  2. 怎么在VScode中搭建一个java开发环境

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:PyTorch怎么定义Tensor、索引和切片

下一篇:怎么查看Navicat加密的数据库密码

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》