`
web_in
  • 浏览: 15040 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[实用工具类与产品化]--方法的重载,Java自动创建文件夹,文件转移【难度 ★★★】

阅读更多
自动创建文件夹,文件转移,基本上系每个项目都需要遇到的工作。

(1)在Java中,可以使用mkdirs()方法实现。mkdirs()对比起mkdir()方法更为好用,因为其能创建包括所有必须但不存在的父目录,该方法隶属于File类。代码举例:

public static boolean createDir(String destDirName){
    File dir = new File(destDirName);
    if(dir.exists()){
        return false;
    }else{
        dir.mkdirs();
        return true;
    }
}

该方法使用简单,但功能较为强大。当然,如果在项目开发中忘记了创建文件夹,又不想改程序,亦可以通过bat批处理辅助完成该任务。

(2)在Java中,文件的移动需要使用到File类中的renameTo()方法。

public static void fileMove(File file, String toFolder){
    if(file.exists() == false){
        System.out.println("The source file(" + file.getAbsoluteFile() + ") can not be found!");
        return;
    }
    File newFolder = new File(toFolder);
    if(newFolder.exists() == false){
        newFolder.mkdirs();
    }
    File moveFile = new File(newFolder.getPath() + "\\" + file.getName());
    if(moveFile.exists()){
        String strNewFileName = newFolder.getPath() + "\\" + file.getName() + "_" + new Date().getTime();
        System.out.println("File:" + moveFile.getName() + " is exist, File will be change by this name:" + strNewFileName);
        moveFile = new File(strNewFileName);
    }
    file.renameTo(moveFile);
}


    在main方法中使用类似 fileMove(new File("c:\\aaa.txt"), "D:");语句,文件file会直接转移到新的文件夹toFolder中。

补充:面向对象的特性之一,就是方法的重载,我以转移文件的方法为例:多写一个方法:
public static void fileMove(String fileName, String toFolder){
    fileMove(new File(fileName), toFolder);
}

    则再main方法中,使用任何一句语句都可以执行成功:
     fileMove("c:\\aaa.txt", "D:"); 或者 fileMove(new File("c:\\aaa.txt"), "D:");

该例子亦系对重载,非常好的一个描述。
   

分享到:
评论

相关推荐

    完整的java文件读写工具类

    本篇将详细讲解标题为"完整的java文件读写工具类"所涉及的核心知识点,以及如何实现描述中提到的文件与目录管理功能。 1. **Java IO基础**: Java IO是Java标准库中的核心部分,提供了处理输入/输出流的类。在`...

    Java获取文件夹大小、文件大小,文件个数

    Java获取文件夹大小、文件大小、文件个数 Java 获取文件夹大小、文件...Java 获取文件夹大小、文件大小、文件个数可以通过使用 File 类和递归方法来实现。同时,格式化文件大小也可以使用 DecimalFormat 类来实现。

    读取文件夹中所有文件中的内容

    为了读取文件夹下的所有文件,我们可以使用`java.nio.file.Files`类中的`newDirectoryStream`方法。该方法可以获取文件夹下的所有子项,并遍历这些子项进行进一步的操作。 ```java Path path = new File(pathname)....

    JAVA-mybatis-generator代码自动生成工具

    MyBatis Generator(MBG)是一款强大的Java工具,能够根据数据库表结构自动产生Model类、Mapper接口和XML映射文件,极大地提高了开发效率。这款工具适用于Java开发者,特别是那些使用MyBatis作为持久层框架的团队。...

    使用Java自动化方法模拟Android人工点击、触屏事件(含platform-tools工具)

    本篇文章将深入探讨如何使用Java自动化方法模拟Android的人工点击和触屏事件,同时涉及`platform-tools`工具包中的adb(Android Debug Bridge)。 首先,`platform-tools`是Android SDK的一部分,包含了adb工具,这...

    Echarts-java资源工具类

    Echarts-java则是一个与Echarts结合的Java工具包,使得在Java环境中生成Echarts图表变得更加便捷。 在Java环境中,使用Echarts通常需要以下步骤: 1. **引入依赖**:`Echarts-Java3.0.jar`是Echarts的Java版本库,...

    mysql-connector-java-5.1.40.zip和mysql-connector-java-5.1.10.jar

    在实际开发中,你可以将`mysql-connector-java-5.1.10.jar`添加到项目的类路径(classpath)中,或者在Maven或Gradle等构建工具的依赖管理中指定对应的版本,以确保Java应用能够找到并使用这个驱动。 总结,`mysql-...

    java反序列化利用工具

    `util.jar`可能包含一些实用工具类,可能用于处理序列化和反序列化操作。在安全背景下,这个库可能被检查以确定是否存在任何脆弱的反序列化代码。 利用Java反序列化漏洞通常涉及以下步骤: 1. 分析目标应用程序的...

    自动化测试案例-输入法JAVA自动化测试-附带源码

    这个项目展示了如何结合Java和外部工具(如AutoIt)来创建一个自动化测试框架,针对嵌入式输入法进行测试,确保其在实际使用中的功能性和稳定性。虽然没有涵盖所有软件质量属性,但它为输入法的基本功能提供了一套...

    java-client5.0.4和selenium-java-3 jar包

    Java客户端库`java-client-5.0.4`和Selenium Java绑定`selenium-java-3`是自动化测试领域中广泛使用的工具,特别是针对移动应用(Appium)和Web应用程序的测试。这两个jar包分别提供了与Appium服务器和Selenium ...

    Android常用工具类

    "Android常用工具类"通常包括各种实用方法,涵盖字符串处理、日期时间、网络请求、图片操作、XML/JSON解析等多个方面。下面我们将详细探讨这些工具类中包含的知识点。 1. **字符串处理工具类**: - 字符串格式化:...

    Java文件夹复制(远程复制(网络传输),用于远程备份文件)

    Java文件夹复制功能是通过编程实现的,主要涉及到文件操作和网络通信两个核心知识点。这里有两个关键类:`FileSelection` 和 `BackupClient`。`FileSelection` 类用于选择和组织待复制的文件,而 `BackupClient` 类...

    查找文档,文件,文件夹工具

    总的来说,“查找文档,文件,文件夹工具”是一种能够帮助用户快速、准确地定位文件和文档内容的实用工具,而“Everything”是其中的一个代表。它以其高效、易用和强大的搜索能力,成为许多用户管理和查找文件的首选...

    Java制作的快速打开文件夹、程序的小工具 .

    `Desktop`类提供了与本地操作系统进行交互的能力,包括打开文件、浏览文件夹、发送邮件等。通过`Desktop.getDesktop().open(File)`方法,我们可以让操作系统默认的应用程序打开指定的文件或目录。 至于快速打开程序...

    同个文件夹复制到不同的文件夹中

    本例中的代码主要利用了 `java.io.File` 类来进行文件的读取与写入。 - **`File` 类**:用于表示文件或目录路径名的抽象表示形式。 - **`FileInputStream` 和 `FileOutputStream`**:用于读取文件和写入文件的基本...

    Java访问MongoDB实用工具类

    为了方便Java程序员与MongoDB交互,通常会创建一些实用工具类,将常见的数据库操作封装起来,降低代码复杂性。本篇文章将详细介绍如何利用提供的"Java访问MongoDB实用工具类"进行高效开发。 首先,`mongodb....

    aspose-cad-17.4-java.zip

    这个“aspose-cad-17.4-java.zip”文件是Aspose.CAD的一个版本17.4的试用包,适用于Java开发者。它包含了一系列的组件和文档,便于用户理解和集成Aspose.CAD到他们的项目中。 首先,我们来看看包含的文件: 1. **...

    java2实用教程电子教案.pdf

    ### Java2实用教程知识点概述 #### 第一章:JAVA语言入门 - **1.1 JAVA的诞生** - Java 语言是由 Sun Microsystems 公司在 1995 年发布的,由 James Gosling 主导开发。 - Java 的设计初衷是为了适应网络计算的...

    Python项目-自动办公-51 Excel-案例-把文件夹整理到Excel中.zip

    在本项目中,我们主要探讨如何使用Python进行自动化办公,特别是如何将文件夹中的信息整理并记录到Excel表格中。这个任务对数据管理和文件组织非常有用,尤其在处理大量文件时,可以极大地提高工作效率。我们将重点...

Global site tag (gtag.js) - Google Analytics