您的位置:首页 > 移动开发 > 微信开发

java 复制 删除 改文件 后缀名小程序

2015-12-22 00:00 211 查看
public class FindandCopy {
//查找文件
public static void findmethod(File file1,File file2,String findtype,String changetype) throws Exception{
if(!file1.exists()){
return ;
}else if(file1.isFile()){
//文件夹不存在就创建
if(!file2.exists()){
file2.mkdirs();
}

if(file1.getName().endsWith(findtype)){
copy(file1,file2,findtype,changetype);
}
}else if(file1.isDirectory()){
File[] files = file1.listFiles();
for(File f : files){
findmethod(f,new File(file2 + "\\" + file1.getName()),findtype,changetype);
}
}
}
//复制文件
public static void copy(File pathr,File pathw,String findtype,String changetype) throws Exception{
InputStream is = new FileInputStream(pathr);
OutputStream os = new FileOutputStream(pathw + "\\" + pathr.getName().replaceAll(findtype,changetype));
BufferedInputStream bis = new BufferedInputStream(is);
BufferedOutputStream bos = new BufferedOutputStream(os);
//读 写 文件
byte[] b = new byte[1024];
int length = 0;
while((length = bis.read(b)) != -1){
bos.write(b,0,length);
bos.flush();
// bis.close();
// bos.close();
}

}

//删除

public static void deletefile(File file){
if(!file.exists()){
return ;
}else if(file.isFile()){
file.delete();

}else if(file.isDirectory()){
File[] files = file.listFiles();
for(File f : files){
deletefile(f);
f.delete();

//if(f.exists()){f.delete();}
}
file.delete();
}
}

}

------------

Test 类

public class Test extends FindandCopy{

public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
System.out.println("------------------复制与删除------------------\n");
System.out.println("\t\t[1] 复制\n\t\t[2] 删除\n\t\t[0] 退出\n请选择操作:");
while(true){
int chose = sc.nextInt();
switch(chose){
case 1 :
System.out.println("请输入要复制的位置(路径)");
File f1 = new File(sc.next());
System.out.println("请输入要拷贝到的位置(路径)");
File f2 = new File(sc.next());
System.out.println("请输入要复制前的文件后缀名");
String findtype = sc.next();
System.out.println("请输入要拷贝后的文件后缀名");
String changetype = sc.next();
findmethod(f1,f2,findtype,changetype);

//打印出当前时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String time = sdf.format(new Date());
System.out.println(time);
break;
case 2 :
System.out.println("请输入要删除的位置(路径)");
File deletefind = new File(sc.next());
deletefile(deletefind);

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String time1 = sdf1.format(new Date());
System.out.println(time1);
break;
case 0 :System.exit(0);

default:
}

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: