如何将文件移动到Java中的另一个目录

Java.io.File不包含任何现成的移动文件方法,但是您可以使用以下两种替代方法来解决:

  1. File.renameTo()。
  2. 复制到新文件并删除原始文件。

在下面的两个示例中,将文件“ C:\\ folderA \\ Afile.txt ”从一个目录移动到另一个目录,且文件名为“ C:\\ folderB \\ Afile.txt ”。

1. File.renameTo()

package com.mkyong.file;

import java.io.File;

public class MoveFileExample 
{
    public static void main(String[] args)
    {	
    	try{
    		
    	   File afile =new File("C:\\folderA\\Afile.txt");
    		
    	   if(afile.renameTo(new File("C:\\folderB\\" + afile.getName()))){
    		System.out.println("File is moved successful!");
    	   }else{
    		System.out.println("File is failed to move!");
    	   }
    	    
    	}catch(Exception e){
    		e.printStackTrace();
    	}
    }
}

2.复制和删除

package com.mkyong.file;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class MoveFileExample 
{
    public static void main(String[] args)
    {	
    	
    	InputStream inStream = null;
	OutputStream outStream = null;
		
    	try{
    		
    	    File afile =new File("C:\\folderA\\Afile.txt");
    	    File bfile =new File("C:\\folderB\\Afile.txt");
    		
    	    inStream = new FileInputStream(afile);
    	    outStream = new FileOutputStream(bfile);
        	
    	    byte[] buffer = new byte[1024];
    		
    	    int length;
    	    //copy the file content in bytes 
    	    while ((length = inStream.read(buffer)) > 0){
    	  
    	    	outStream.write(buffer, 0, length);
    	 
    	    }
    	 
    	    inStream.close();
    	    outStream.close();
    	    
    	    //delete the original file
    	    afile.delete();
    	    
    	    System.out.println("File is copied successful!");
    	    
    	}catch(IOException e){
    	    e.printStackTrace();
    	}
    }
}

翻译自: https://mkyong.com/java/how-to-move-file-to-another-directory-in-java/

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值