java实现文件的移动(剪切)

package javaio.recursion.Reader;
import java.io.*;
import java.util.Scanner;
public class FileCut {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("输入你想要剪切的文件或文件夹");
String str1=s.next();
System.out.println("输入你想要粘贴在哪de文件夹");
String str2=s.next();
File f1=new File(str1);
File f2=new File(str2);
filecut(f1,f2);
}
public static void filecut(File fs,File ft) {
/*if(fs.isFile()&&ft.isDirectory()) {
File tmp=ft;
File f=new File(ft,fs.getName());
if(!fs.renameTo(f)) {
ft=new File(tmp,ft.getName()+"-副本");
fs.renameTo(f);
}
} */if(ft.isDirectory()) {
File tmp=ft;
ft=new File(ft,fs.getName());
if(!ft.mkdirs()) {
ft=new File(tmp,fs.getName()+"-副本"); //如果是相同的文件名 即目录创建失败 则改名
ft.mkdirs();
}
File []file=fs.listFiles();
for(File x:file) {
if(x.isDirectory()) {
//File f=new File(ft,x.getName());
//System.out.println(x.getAbsolutePath());
//System.out.println(f.getAbsolutePath());
filecut(x,ft);
}else {
File f=new File(ft,x.getName());
x.renameTo(f);
}
}
deletedir(fs);
}
}
public static void deletedir(File f) {
if(!f.exists())
{
System.out.println("文件不存在");
}else
{
if(f.delete())
{
System.out.println("删除:"+f.getName());
}else
{
File[] f1=f.listFiles();
for(File x:f1) {
deletedir(x);
}
deletedir(f);
}
}
}
}

__EOF__

本文作者Reisen7
本文链接https://www.cnblogs.com/reisen7/p/18547126.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Reisen7  阅读(43)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示