对任何类型文件进行文件移动
1.要求
通过二进制流的操作方式把程序调整为可以实现对任何类型文件进行文件移动 。
2.方法
-
throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)
语法:(修饰符)(方法名)([参数列表])[throws(异常类)]{…}
如: public void function() throws Exception{…}
当某个方法可能会抛出某种异常时用于throws 声明可能抛出的异常,然后交给上层调用它的方法程序处理。 -
try{}catch(Exception ex){}是处理没法进一步处理的异常的一般操作方法
-
fileMove()方法移动指定文件内的全部文件。
3.代码
import java.io.File;//引入类
public class rw15 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String frompath = "D:\\office\\学前任务\\工程训练\\工程训练代码\\源路径"; //源路径
String topath ="D:\\office\\学前任务\\工程训练\\工程训练代码\\目录路径"; //目录路径
System.out.println("移动文件:从路径"+frompath+"下的文件(不包含该目录)到指定目录"+topath+",会连同子目录一起复制过去");
try {
//调用方法实现目录移动
fileMove(frompath,topath);
}catch(Exception e) {
System.out.println("移动文件出现问题"+e.getMessage());
}
}
public static void fileMove(String from, String to)throws Exception {
// TODO Auto-generated method stub
try {
File dir=new File(from);//
File[]files=dir.listFiles();//
if(files==null)
return;
File moveDir=new File(to);
if(!moveDir.exists()) {
moveDir.mkdirs();
}
for(int i=0;i<files.length;i++) {//
//
if(files[i].isDirectory()) {
fileMove(files[i].getPath(),to+"\\"+files[i].getName());//
files[i].delete();//
}
File moveFile=new File(moveDir.getPath()+"\\"+files[i].getName());
if(moveFile.exists()) {//
moveFile.delete();
}
files[i].renameTo(moveFile);//
System.out.println(files[i]+"移动成功!");
}
}catch(Exception e) {
throw e;
}
}
}
4.结果
编译结果如下图所示:

运行结果如下图所示:

文件移动后如下图所示:

本文介绍了一个使用Java编写的文件移动程序,能够实现任意类型文件的移动,包括子目录。通过递归调用方法处理目录下的所有文件,并确保目标目录存在。
2554

被折叠的 条评论
为什么被折叠?



