JAVA——对任何类型文件进行文件移动

版权声明:DY https://blog.csdn.net/Atishoo_13/article/details/82749935

对任何类型文件进行文件移动


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.结果

编译结果如下图所示:
在这里插入图片描述
运行结果如下图所示:
在这里插入图片描述
文件移动后如下图所示:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Atishoo_13/article/details/82749935