createNewFile()和createTempFile()

2021-03-02  本文已影响0人  方_f666

相同点: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;
上一篇 下一篇

猜你喜欢

热点阅读