美文网首页
createNewFile()和createTempFile()

createNewFile()和createTempFile()

作者: 方_f666 | 来源:发表于2021-03-02 15:34 被阅读0次

    相同点:createNewFile()和createTempFile()都是用来创建文件。
    不同点:
    1.创建方式不同createNewFile()需要创建目录-file.getParentFile().mkdirs();然后再创建文件-file.createNewFile();createTempFile()调用File的静态方法-File.createTempFile(String prefix, String suffix)
    2.目录不同,createNewFile()需要指定目录路径,createTempFile()的路径为App.getInstance().getApplicationContext().getCacheDir()目录下。
    3.文件名称不同,createNewFile()需要指定文件名称,createTempFile()文件名称为指定前缀名+临时一串数字+指定后缀名。

    createNewFile()

    // 文件路径:/data/user/0/包名/cache/camera/20210302/1614669744032.txt
     public static File createFile() {
            File file = new File(App.getInstance().getApplicationContext().getCacheDir()
                    + File.separator + "camera"
                    + File.separator + new SimpleDateFormat("yyyyMMdd", Locale.CHINA).format(new Date(System.currentTimeMillis()))
                    + File.separator + System.currentTimeMillis() + ".txt");
            if (!file.exists()) {
                try {
                    file.getParentFile().mkdirs();
                    file.createNewFile();
                    return file;
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return null;
        }
    

    createTempFile()

    // 文件路径:/data/user/0/包名/cache/temp5586373986259348895.txt
      public static File createFile() {
            File tempFile = null;
            try {
                tempFile = File.createTempFile("temp", ".txt");
            } catch (IOException e) {
                e.printStackTrace();
            }
            return tempFile;
    

    相关文章

      网友评论

          本文标题:createNewFile()和createTempFile()

          本文链接:https://www.haomeiwen.com/subject/oofxqltx.html