对于文件夹和文件的移动,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
分享到:
相关推荐
Qt版文件或文件夹拷贝,将指定文件拷贝到指定位置,copyFileToPath拷贝文件copyDirectoryFiles拷贝文件夹
file
虽然Easy File Locker 体积小巧,但使用Easy File Locker保护的文件或文件夹将使其它用户将无法打开、读取、修改、删除、移动。使用Easy File Locker隐藏的文件将完全不可见,即使用在命令行模式下同样无法查看和...
用java实现的文件和文件夹拷贝和转移
shell脚本,移动命令,只移动目录下的文件,不移动文件夹;例如 mv_file ./dir1 ./dir2 将dir1下面的文件拷贝后dir2下
File Lock 是一款安全软件,可以锁定/隐藏文件、文件夹和磁盘。它能够阻止访问任何的文件、文件夹和磁盘。File Lock 也支持隐藏文件和文件夹,以使它们完全不可见。锁定的条目将拒绝访问、移动和删除,隐藏的条目将...
在.Net中,对文件(File)和文件夹(Folder)的操作可以使用File类和Directory类,也可以使用FileInfo类和DirectoryInfo类。文件夹(Folder)是只在Windows操作系统中使用的名词。在操作系统的理论中,人们更习惯于...
System.out.println("移动文件失败"); } return flag; } /** * 删除FTP上指定文件夹下文件及其子文件方法,添加了对中文目录的支持 * @param ftp FTPClient对象 * @param FtpFolder 需要删除的文件夹 * @...
拷贝文件到指定文件夹,还有其他的文件操作,很简陋.希望可以帮到有这方面需要的人.(我指定的的是绝对路径,各位可以自行修改路径,也可以通过OpenFileDialog来指定文件)
将对应file.txt和两个.bat文件放在需要复制或剪切的文件夹下,将需要复制或剪切的文件夹或文件名写入file.txt中,双击运行其中一个.bat即可复制或剪切txt里的文件夹或文件至E:\123文件夹中。
荆棘移动文件Bramble扩展名,用于在文件树中移动文件和文件夹。
适合PYTHON使用者,经常需要将原文件夹的数据文件备份至另一文件夹(如移动硬盘,固态硬盘等)的人 只需要输入要备份的文件夹名称即可对文件夹内的差异文件及文件夹识别并备份,py文件内有清晰的注释,有其他问题可...
•按不同的标准和类型对文件和文件夹进行排序 •利用我们的“最近使用的文件”功能快速上手 使用文件命令高级应用内购买获得更多收益: •书签到选定的文件夹 •回收站,以便您可以删除和还原文件 •隐藏的文件和...
迷你终端支持以下操作的虚拟分层文件夹和文件系统该终端允许用户在虚拟分层空间中创建,编辑添加和删除文件和文件夹。 文件是实际创建的唯一对象,并保存在运行程序的文件夹中。支持的动作: read <file> 返回给定...
移动文件或文件夹。 与平台无关。 为什么? 。 安装 $ npm install --global mve 用法 概要 Usage: mve [options] <source> 选项 -h --help Print a short synopsis (-h) or this usage info (--help) 例子 # ...
想把文件或整个文件夹隐藏起来,只有我自己才能看到!马上使用 wise folder hider 这个免费软件来实现吧!它使用非常简单,你可以在文件上点击右键来快速实现隐藏,也可以将文件或文件夹拖放到软件界面!当你想再次...
如错误消息所示,访问被拒绝。确保目标路径存在并且可以通过资源管理器访问它。
您还可以对结果列表中已检查的重复文件/突出显示的文件执行一些常见操作,例如保存,加载,移动到回收站/其他位置,删除,打开/运行,打开文件位置,查找,取消选中全部,反转检查,显示属性和复制完整路径。...
•按不同条件对文件和文件夹进行排序和类型 •使用我们的“最近文件”功能快速找到上次停止的地方 更获取有关文件 COMMANDER PREMIUM应用内购买: •书签到选定的文件夹 •回收站所以可以删除和恢复文件 •...
库提供了一个抽象的,跨平台的API,用于处理文件和文件夹。 为什么这是在原始java.io.File之上的非常轻量级的抽象。 将此项目作为项目的依赖项添加时,风险很小。 在许多情况下,使用FileItem类比使用标准Java类...