复制指定目录下的指定文件,并修改后缀名 很重要,也很难!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复制指定目录下的指定文件,并修改后缀名 很重要,也很难!!!相关的知识,希望对你有一定的参考价值。

package cn.idcast2;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;

public class Day12 {
	/*
	 * 需求:复制指定目录下的指定文件,并修改后缀名。 指定的目录是:jad 指定的文件是:.java文件 指定的后缀名是:.jad
	 * 
	 * 数据源:e:\\java\\A.java 
	 * 目的地:e:\\jad\\A.jad
	 * 
	 * 分析:
	 *  A:封装目录
	 *  B:获取该目录下的java文件的File数组 
	 *  C:遍历该File数组,得到每一个File对象 
	 *  D:把该File进行复制
	 *  E:在目的地目录下改名
	 */
	public static void main(String[] args) throws IOException {

		File srcFolder = new File("e:\\java");
		File destFolder = new File("e:\\jad");
		if (!destFolder.exists()) {
			destFolder.mkdir();
		}
		//File的文件名称过滤器功能
		File[] fileArray = srcFolder.listFiles(new FilenameFilter() {

			@Override
			public boolean accept(File dir, String name) {
				// TODO Auto-generated method stub
				return new File(dir, name).isFile() && name.endsWith(".jpg");
			}
		});
		for (File file : fileArray) {
			String name = file.getName();  //得到e:\\java目录下的A.java文件名称
			File newFile = new File(destFolder, name);  //这里显示的为e:\\jad\\A.java 
			copyFile(file, newFile);
		}
		File[] destFileArray = destFolder.listFiles();
		for (File destFile : destFileArray) {
			String name = destFile.getName();   //得到e:\\jad目录下的A.java
			String newName = name.replace(".java", ".jad");    //得到e:\\jad目录下的A.jad
			File newFile = new File(destFolder, newName);    //这里显示的为e:\\jad\\A.jad 
			destFile.renameTo(newFile);
		}
	}

	private static void copyFile(File file, File newFile) throws IOException {
		// TODO Auto-generated method stub
		BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
				file));
		BufferedOutputStream bos = new BufferedOutputStream(
				new FileOutputStream(newFile));
		byte[] bys = new byte[1024];
		int len = 0;
		while ((len = bis.read()) != -1) {
			bos.write(bys, 0, len);
		}
		bis.close();
		bos.close();
	}
}

  

以上是关于复制指定目录下的指定文件,并修改后缀名 很重要,也很难!!!的主要内容,如果未能解决你的问题,请参考以下文章

C#实现把指定文件夹下的所有文件复制到指定路径下以及修改指定文件的后缀名

IO流的练习3 复制多级文件夹下的指定文件并改名

使用bat的Xcopy命令把一个目录下的指定多个不同的文件类型复制到别一个文件夹

用bat复制指定文件到指定文件目录下的所有文件夹?

如何删除子目录下所有指定后缀文件?

谁知道在linux下的常用后缀名啊?