对于文件夹和文件的移动,File类未提供直接的move函数。只提供了renameTo函数进行重命名,delete函数删除文件及空文件夹。利用这两个函数我们可以进行文件和文件夹的移动。
moveFile移动源文件到目的文件夹。注意使用renameTo而不是读取文件所有内容,在目的地址新建文件的效率高很多。因为renameTo相当于修改了快捷方式,并没有增加磁盘io。只是修改磁盘一个区域索引地址而已。
moveDirectory移动源文件夹中所有内容(包括子文件夹)到目的文件夹
可以在函数中加更丰富的提示以及判断。文件不存在该怎么做,是否自动创建文件夹,是否删除源文件夹,文件或文件夹移动失败如何等等。
moveFile源码:
/**
* 移动文件
* @param srcFileName 源文件完整路径
* @param destDirName 目的目录完整路径
* @return 文件移动成功返回true,否则返回false
*/
public boolean moveFile(String srcFileName, String destDirName) {
File srcFile = new File(srcFileName);
if(!srcFile.exists() || !srcFile.isFile())
return false;
File destDir = new File(destDirName);
if (!destDir.exists())
destDir.mkdirs();
return srcFile.renameTo(new File(destDirName + File.separator + srcFile.getName()));
}
moveDirectory源码:
/**
* 移动目录
* @param srcDirName 源目录完整路径
* @param destDirName 目的目录完整路径
* @return 目录移动成功返回true,否则返回false
*/
public boolean moveDirectory(String srcDirName, String destDirName) {
File srcDir = new File(srcDirName);
if(!srcDir.exists() || !srcDir.isDirectory())
return false;
File destDir = new File(destDirName);
if(!destDir.exists())
destDir.mkdirs();
/**
* 如果是文件则移动,否则递归移动文件夹。删除最终的空源文件夹
* 注意移动文件夹时保持文件夹的树状结构
*/
File[] sourceFiles = srcDir.listFiles();
for (File sourceFile : sourceFiles) {
if (sourceFile.isFile())
moveFile(sourceFile.getAbsolutePath(), destDir.getAbsolutePath());
else if (sourceFile.isDirectory())
moveDirectory(sourceFile.getAbsolutePath(),
destDir.getAbsolutePath() + File.separator + sourceFile.getName());
else
;
}
return srcDir.delete();
}
参考:http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html
分享到:
相关推荐
总的来说,Java提供了强大的文件操作API,使得我们可以轻松地移动文件和文件夹。在实际应用中,还应该考虑异常处理、权限问题、并发访问等问题,以确保代码的健壮性和安全性。在进行大量文件操作时,可能还需要考虑...
在Qt编程中,处理文件和目录的操作是常见的需求,包括读取文件夹内容、移动文件以及删除文件夹内的文件。本文将深入探讨这些主题,并提供相关的Qt API和实践示例。 首先,我们要了解Qt中的QDir类,它是用于处理文件...
2. **移动文件和文件夹** 使用`shutil`模块的`move()`函数可以移动文件或文件夹。它会将源路径移动到目标路径,并且如果目标路径已经存在,它会被覆盖: ```python import shutil shutil.move('source_file.txt'...
4. **移动文件和文件夹** 移动文件和目录对应于`moveFile()`和`moveDirectory()`方法。这两个方法会使用`rename()`函数来重命名(即移动)文件,而`rename()`函数不能处理跨文件系统的移动,所以`moveDirectory()`...
这个名为"08PHP文件操作类(文件和文件夹创建,复制,移动和删除)"的类库,提供了一套完整的解决方案来处理文件系统中的各种任务。下面我们将详细探讨这个类库中的关键知识点。 首先,类库的核心功能是文件操作。...
在实际编程中,根据具体需求,选择合适的方法和类组合使用,就能完成对文件和文件夹的各种操作。记得在操作完成后关闭文件流,释放资源,并正确处理可能出现的异常,以确保程序的稳定性和可靠性。
// 删除文件夹(包含所有子文件夹和文件) Directory.Delete("文件夹名", true); ``` 5. **遍历文件夹** `Directory.GetFiles()`和`Directory.GetDirectories()`用于获取指定目录下的文件和子目录列表。递归...
在Qt库中,进行文件和文件夹的拷贝操作是一项常见的任务,这在软件开发中尤其重要,因为可能需要在程序运行过程中动态处理文件和数据迁移。`Qt`提供了丰富的API来实现这些功能,让我们详细了解一下如何使用`Qt`进行...
在C#中,文件夹的移动通常涉及到`System.IO`命名空间下的`Directory`和`File`类。下面我们将详细讲解如何使用这些类来实现文件夹的移动。 首先,`Directory`类提供了许多与文件夹相关的操作方法,如创建、删除、...
4. **文件和文件夹的移动和重命名**:`rename()`方法可以用于文件或文件夹的重命名,`move()`方法用于移动文件或文件夹到指定位置。 5. **文件属性的获取**:`exists()`检查文件或文件夹是否存在,`isFile()`和`...
在.NET框架中,操作文件和文件夹是常见的任务,涵盖了创建、读取、写入、删除、移动等操作。为了及时检测文件夹中的文件或文件夹的变化情况,开发者可以利用.NET提供的文件系统监视器(FileSystemWatcher)类。下面...
- `File` 类:提供静态方法用于创建、打开、读取、写入、追加、复制、移动和删除文件。例如,`File.WriteAllText()` 用于写入文本到文件,`File.ReadAllText()` 用于读取文件的全部文本。 - `FileStream` 类:提供...
File类的应用非常广泛,例如创建、删除、复制、移动、读取文件和文件夹等。今天,我们来讨论File类的另一个重要应用:遍历文件夹下所有文件。 遍历文件夹下所有文件是指从指定的文件夹中获取所有文件,包括子...
mv命令不仅可以重命名文件和文件夹,还可以将文件和文件夹移动到指定的目录下。 * 将文件 file1 重命名为 file2:mv file1 file2 * 将文件 file1 移动到目录 dir1 下:mv file1 dir1 * 将目录 dir1 移动到目录 dir2...
UiPath 下载文件后移动 UiPath 是一款自动化流程工具,能够帮助用户自动完成各种重复性...UiPath 的 Download File 活动和 Move File 活动可以帮助用户自动完成下载文件和移动文件的操作,提高工作效率和自动化程度。
- 移动文件:`File.Move()`方法用于移动文件到新的位置,同时可以改变文件名。它需要两个参数,一个是源文件的完整路径,另一个是目标路径。例如:`File.Move("C:\\hoan.txt", "D:\\hoan.txt")`,这会将"C:\\hoan....
除了上述基本的文件操作外,C++Builder 6还提供了`SHFileOperation`函数,该函数允许执行更高级别的文件操作,如复制、移动、删除文件和文件夹等。其使用方式较为复杂,需要传递一个`SHFILEOPSTRUCT`结构体作为参数...
1. **移动/重命名文件**:可以使用`shutil.move()`函数,它既可以移动文件,也可以实现重命名。 2. **创建文件和文件夹**:使用`os`库的`os.makedirs()`可以创建多层目录,`open()`函数配合`write()`可以创建并写入...
5. **Move方法**:用于移动文件或文件夹到新的位置。例如,`fileObject.Move(newPath)`会将指定的文件移动到新的路径下。 6. **Copy方法**:用于复制文件或文件夹到新的位置。`fileObject.Copy(newPath, overwrite)...