Java拷贝指定目录的指定类型文件到指定目录

编写一个程序:

将指定目录下的所有带.java文件都拷贝到另外一个目录中,拷贝成功后,把后缀名.java改成.txt

要求效果如下:


简单实现代码:

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

public class CopyDemo {
	public static void main(String[] args) throws Exception {
		// 1. 找到源目录中所有的java文件
		File src_dir = new File("java");//源路径
		File des_dir = new File("txt");//目标路径
		File[] fs = src_dir.listFiles(new FilenameFilter() {
			public boolean accept(File dir, String name) {
				return new File(dir, name).isFile() && name.endsWith(".java");
			}
		});
		//System.out.println(Arrays.toString(fs));
		// 2. 迭代出每一个文件对象,并拷贝
		for (File srcfile : fs) {
			// 创建流对象
			InputStream in = new FileInputStream(srcfile);
			OutputStream ot = new FileOutputStream(new File(des_dir, srcfile.getName()));
			// 3.具体 的输入输出操作
			// 容量最好写1024的倍数,相当于1kb,比较好算
			byte[] b = new byte[1024];
			int len = -1;// 表示已经读取的字节数, 在底层规定-1读取到末尾
			in.read(b);// 数据存到数组b中
			while (len != -1) {
				ot.write(b, 0, len);
				len = in.read(b);
			}
			// 4. 关闭资源
			in.close();
			ot.close();
			String newName =new File(des_dir,srcfile.getName()).getName().replace(".java",".txt");
			new File(des_dir,srcfile.getName()).renameTo(new File(des_dir,newName));
		}
	}
}



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值