`

iava创建文件和目录

    博客分类:
  • java
 
阅读更多

创建文件和目录的关键技术点如下:
    1、File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败
    2、File类的mkdir方法根据抽象路径创建目录
    3、File类的mkdirs方法根据抽象路径创建目录,包括创建必需但不存在的父目录
    4、File类的createTempFile方法创建临时文件,可以制定临时文件的文件名前缀、后缀及文件所在的目录,如果不指定目录,则存放在系统的临时文件夹下。
    5、除mkdirs方法外,以上方法在创建文件和目录时,必须保证目标文件不存在,而且父目录存在,否则会创建失败
   
实例演示

 

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

}

 

0
0
分享到:
评论

相关推荐

    iava.zip_iava类

    在"iava.zip_iava类"这个主题中,我们将深入探讨接口的使用和实现。 首先,接口提供了类型之间的关联,让类可以实现多个接口,从而具有多种行为。这在设计大型系统时特别有用,因为它们可以帮助我们创建松散耦合的...

    IAVA 系统 JSP

    2. **JSP指令**:学习page、include和taglib指令,它们用于设置页面属性、导入其他文件和注册自定义标签库。 3. **Servlet**:JSP最终会被编译为Servlet,了解Servlet生命周期和请求处理机制对于理解JSP工作原理至...

    itext生成pdf文件-表格

    iText是一个流行的Java库,专门用于创建和编辑PDF文档。本文将深入探讨iText如何生成包含表格的PDF文件,同时结合提供的“itext教程_itext的使用方法_iava使用itext实现pdh的输出.doc”文档,为您详细解析这一过程。...

    jdk-8u241-windows-x64.rar

    4. **Java打包工具(jar)**:用于创建和管理.jar文件,这些文件是Java应用程序的容器,可以包含多个类文件和其他资源。 5. **Java调试器(jdb)**:用于查找和修复Java程序中的错误,通过设置断点、查看变量值等...

    java编写的编译词法分析程序

    例如,`Pattern`和`Matcher`类可以用来创建和应用模式来检测源代码中的特定模式。此外,程序可能还包含一个词法单元的枚举类型,用于定义所有可能的词法符号。 在处理过程中,程序会遍历源代码的每个字符,检查它们...

    mysql-connector-java-8.0.11.jar文件

    1. **下载与引入**:从MySQL官方网站或其他可靠源下载该jar文件,然后将其添加到Java项目的类路径中,可以通过Maven或Gradle等构建工具管理依赖。 2. **建立连接**:使用`DriverManager.getConnection()`方法,传入...

    hibernate使用c3p0连接池的资料

    - 首先需要在项目的构建文件中引入Hibernate和C3P0的相关依赖库。 - 例如,在Maven项目中可以通过添加以下依赖: ```xml &lt;groupId&gt;org.hibernate &lt;artifactId&gt;hibernate-core &lt;version&gt;5.4.26.Final ...

    Java的类加载器

    Java的类加载器是Java虚拟机(JVM)的核心组件之一,它负责将类的字节码文件从文件系统或网络中加载到JVM中,然后进行校验、解析和初始化,使得Java程序能够运行。类加载器的概念是Java动态加载和运行时类重定义的...

    JUnit 入门教程

    - **测试固定件(Fixture)**:用于为测试创建和清理环境。 - **测试套件(Test Suite)**:一组相关的测试用例集合。 - **测试运行器(Test Runner)**:负责执行测试并报告结果的组件。 #### 七、JUnit基本...

    Java语言程序设计基础必看

    每个Java语言的编译单元可包含多个类或接口,但是每个编译单元最多只能有一个类或接口是公共的每个编译单元就是一个以.iava为后缀的Java语言源程序文件一个程序可包括若干个类,各类之间存在并列、继承和包含关系。...

    java.net.SocketTimeoutException: Receive timed out

    在文件列表中,有一个名为"EJBTest001"的文件,这可能是一个包含EJB(Enterprise JavaBeans)测试代码的项目或者类。EJB是Java企业级应用开发的一部分,它提供了一种标准的方式来创建可部署的、分布式的企业级组件。...

    JAVA小程序与应用程序及相互转化.pdf

    由于技术限制,文档的内容存在一些OCR扫描错误,例如,"JAVAd~程序"应理解为"Java小程序","IAVA"应理解为"Java","座甩程序"应理解为"应用程序"。尽管如此,本文仍为从事Java开发的技术人员提供了宝贵的指导,帮助...

Global site tag (gtag.js) - Google Analytics