博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java创建文件和目录
阅读量:6692 次
发布时间:2019-06-25

本文共 5375 字,大约阅读时间需要 17 分钟。

一. 创建文件和目录的关键技术点如下:  

1. File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败  

2. File类的mkdir方法根据抽象路径创建目录  

3. File类的mkdirs方法根据抽象路径创建目录,包括创建必需但不存在的父目录  

4. File类的createTempFile方法创建临时文件,可以制定临时文件的文件名前缀、后缀及文件所在的目录,如果不指定目录,则存放在系统的临时文件夹下。  

5. 除mkdirs方法外,以上方法在创建文件和目录时,必须保证目标文件不存在,而且父目录存在,否则会创建失败  

二. 实例演示  

package book.io;import java.io.File;import java.io.IOException;public class CreateFileUtil {       public static boolean createFile(String destFileName) {        File file = new File(destFileName);        if(file.exists()) {            System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!");            return false;        }        if (destFileName.endsWith(File.separator)) {            System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!");            return false;        }        //判断目标文件所在的目录是否存在        if(!file.getParentFile().exists()) {            //如果目标文件所在的目录不存在,则创建父目录            System.out.println("目标文件所在目录不存在,准备创建它!");            if(!file.getParentFile().mkdirs()) {                System.out.println("创建目标文件所在目录失败!");                return false;            }        }        //创建目标文件        try {            if (file.createNewFile()) {                System.out.println("创建单个文件" + destFileName + "成功!");                return true;            } else {                System.out.println("创建单个文件" + destFileName + "失败!");                return false;            }        } catch (IOException e) {            e.printStackTrace();            System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage());            return false;        }    }          public static boolean createDir(String destDirName) {        File dir = new File(destDirName);        if (dir.exists()) {            System.out.println("创建目录" + destDirName + "失败,目标目录已经存在");            return false;        }        if (!destDirName.endsWith(File.separator)) {            destDirName = destDirName + File.separator;        }        //创建目录        if (dir.mkdirs()) {            System.out.println("创建目录" + destDirName + "成功!");            return true;        } else {            System.out.println("创建目录" + destDirName + "失败!");            return false;        }    }          public static String createTempFile(String prefix, String suffix, String dirName) {        File tempFile = null;        if (dirName == null) {            try{                //在默认文件夹下创建临时文件                tempFile = File.createTempFile(prefix, suffix);                //返回临时文件的路径                return tempFile.getCanonicalPath();            } catch (IOException e) {                e.printStackTrace();                System.out.println("创建临时文件失败!" + e.getMessage());                return null;            }        } else {            File dir = new File(dirName);            //如果临时文件所在目录不存在,首先创建            if (!dir.exists()) {                if (!CreateFileUtil.createDir(dirName)) {                    System.out.println("创建临时文件失败,不能创建临时文件所在的目录!");                    return null;                }            }            try {                //在指定目录下创建临时文件                tempFile = File.createTempFile(prefix, suffix, dir);                return tempFile.getCanonicalPath();            } catch (IOException e) {                e.printStackTrace();                System.out.println("创建临时文件失败!" + e.getMessage());                return null;            }        }    }       public static void main(String[] args) {        //创建目录        String dirName = "D:/work/temp/temp0/temp1";        CreateFileUtil.createDir(dirName);        //创建文件        String fileName = dirName + "/temp2/tempFile.txt";        CreateFileUtil.createFile(fileName);        //创建临时文件        String prefix = "temp";        String suffix = ".txt";        for (int i = 0; i < 10; i++) {            System.out.println("创建了临时文件:"                    + CreateFileUtil.createTempFile(prefix, suffix, dirName));        }        //在默认目录下创建临时文件        for (int i = 0; i < 10; i++) {            System.out.println("在默认目录下创建了临时文件:"                    + CreateFileUtil.createTempFile(prefix, suffix, null));        }    }}

输出结果:

创建目录D:/work/temp/temp0/temp1成功!目标文件所在目录不存在,准备创建它!创建单个文件D:/work/temp/temp0/temp1/temp2/tempFile.txt成功!创建了临时文件:D:work emp emp0 emp1 emp5171.txt创建了临时文件:D:work emp emp0 emp1 emp5172.txt创建了临时文件:D:work emp emp0 emp1 emp5173.txt创建了临时文件:D:work emp emp0 emp1 emp5174.txt创建了临时文件:D:work emp emp0 emp1 emp5175.txt创建了临时文件:D:work emp emp0 emp1 emp5176.txt创建了临时文件:D:work emp emp0 emp1 emp5177.txt创建了临时文件:D:work emp emp0 emp1 emp5178.txt创建了临时文件:D:work emp emp0 emp1 emp5179.txt创建了临时文件:D:work emp emp0 emp1 emp5180.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5181.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5182.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5183.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5184.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5185.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5186.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5187.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5188.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5189.txt在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5190.txt

 

转载地址:http://uocoo.baihongyu.com/

你可能感兴趣的文章
uvm_svcmd_dpi——DPI在UVM中的实现(二)
查看>>
Crimm Imageshop 2.3。
查看>>
SQL AND和OR求值顺序
查看>>
买房必知的五大法律常识 助你安心顺利选房
查看>>
leetcode563
查看>>
剑指Offer 40 最小的k个数
查看>>
winform创建树形菜单的无限级分类
查看>>
面试问题总结
查看>>
HTML特殊转义字符列表
查看>>
2、NIO--缓冲区(Buffer)
查看>>
3、集合--AbstractCollection、AbstractList源码
查看>>
如何较为直观的打印二叉树
查看>>
2014年计划:
查看>>
USACO习题:Broken Necklace
查看>>
打包命令
查看>>
POJ 1679 The Unique MST 【最小生成树/次小生成树模板】
查看>>
什么是动态链接库
查看>>
mysqldump 定时任务 执行后备份的文件为空
查看>>
Python-Django 模型层-单表查询
查看>>
Windows Redis默认配置文件,Redis配置不生效解决方案
查看>>