自动创建文件夹,文件转移,基本上系每个项目都需要遇到的工作。
(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:");
该例子亦系对重载,非常好的一个描述。
分享到:
相关推荐
标题“根据文件日期创建日期层级文件夹并迁移文件”涉及的核心技术是自动化处理文件系统,具体包括文件日期的读取、文件夹结构的动态创建以及文件的移动操作。这一过程通常用于整理大量文件,便于管理和检索。以下是...
按键精灵是一种广泛应用于自动化办公...通过学习和理解这个工具的源码,不仅可以掌握批量重命名文件的方法,还能深入了解按键精灵的编程技巧和自动化办公的实现原理,对于提升个人在IT行业中的技能水平有着显著的帮助。
Java SMB(Server Message Block)库是用于在Java应用程序中访问和操作网络共享文件系统的工具,主要应用于Windows环境,但也可支持其他支持SMB协议的系统。SMB是一种网络通信协议,允许网络上的计算机共享文件、...
本篇将详细讲解标题为"完整的java文件读写工具类"所涉及的核心知识点,以及如何实现描述中提到的文件与目录管理功能。 1. **Java IO基础**: Java IO是Java标准库中的核心部分,提供了处理输入/输出流的类。在`...
- 使用`java.net.Socket`类建立与Windows共享文件服务器的TCP连接。共享文件夹通常是基于SMB(Server Message Block)协议的,Java没有直接支持SMB的类,但可以通过第三方库如jcifs(Java SMB Client)来实现。 - ...
为项目开发了一个proto的自动生成工具,需要把protoc.exe放入protobuf-net/ProtoGen文件夹下面,在protoGen文件夹下面建立out文件夹,out文件夹下面分两个文件,一个java一个csharp,把*.proto文件直接放在ProtoGen...
`RabbitmqUtil` 是一个专门为Java开发者设计的工具类,简化了与RabbitMQ交互的复杂过程,使得开发者能够更快速、更方便地发送和接收消息。 首先,我们来详细了解一下`RabbitmqUtil`工具类的主要功能: 1. **连接...
1. **创建映射文件**:编写或利用工具自动生成`.mapping`文件,定义XML元素与Java类之间的映射规则。 2. **配置Castor**:在项目中添加Castor依赖,并配置映射文件的位置。 3. **Java对象的序列化与反序列化**:调用...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
为了读取文件夹下的所有文件,我们可以使用`java.nio.file.Files`类中的`newDirectoryStream`方法。该方法可以获取文件夹下的所有子项,并遍历这些子项进行进一步的操作。 ```java Path path = new File(pathname)....
MyBatis Generator(MBG)是一款强大的Java工具,能够根据数据库表结构自动产生Model类、Mapper接口和XML映射文件,极大地提高了开发效率。这款工具适用于Java开发者,特别是那些使用MyBatis作为持久层框架的团队。...
在IT领域,自动化任务是提高效率的关键之一,尤其是在处理大量重复性工作时。批量自动建立文件夹就是一个典型的例子,尤其适用于需要对大量数据进行分类管理的场景。在本教程中,我们将详细介绍如何利用Excel的宏...
Echarts-java则是一个与Echarts结合的Java工具包,使得在Java环境中生成Echarts图表变得更加便捷。 在Java环境中,使用Echarts通常需要以下步骤: 1. **引入依赖**:`Echarts-Java3.0.jar`是Echarts的Java版本库,...
在Java编程中,对比文件夹和文件是一项常见的需求,尤其在文档管理和版本控制中。本篇文章将探讨如何使用Java实现这一功能,特别是针对word、pdf、文本和图片等类型的文件进行对比计算,以及如何计算文本的相似率和...
Java反序列化是一种将之前序列化的对象状态转换回对象的过程,它是Java平台中持久化数据的一种方式。在软件开发中,特别是在服务器端应用中,反序列化常常用于在网络传输或存储后恢复对象的状态。然而,如果这个过程...
在实际开发中,你可以将`mysql-connector-java-5.1.10.jar`添加到项目的类路径(classpath)中,或者在Maven或Gradle等构建工具的依赖管理中指定对应的版本,以确保Java应用能够找到并使用这个驱动。 总结,`mysql-...
自动统计目标文件夹中的文件名称
Java反序列化漏洞通常出现在以下场景:当一个不可信的输入源(例如网络流或外部文件)被用来反序列化对象时,恶意用户可能会构造特殊的序列化数据来触发非预期的行为,比如执行任意代码。这种漏洞在许多大型系统中曾...
1. **DateUtils**: `java.util.Date` 和 `java.time` 包含日期和时间的操作,但DateUtils通常是Apache Commons Lang库中的一个工具类,提供更方便的日期处理方法,如格式化、解析、比较和日期的加减操作。...
为了在Java环境中与这些Web服务交互,我们需要将WSDL文件转换为Java类,这就是`wsdl2java`工具的作用。 `wsdl2java`是Apache Axis项目的一部分,它是一个强大的工具,可以自动生成Java客户端和服务端代码,这些代码...