码迷,mamicode.com
首页 > 其他好文 > 详细

分析复制文件,在复制过程中更改文件后缀名

时间:2015-04-04 10:44:50      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

这是我自己的做法:

将一个目录下的所有.java文件复制到另一个目录,但是要在复制的过程中更改文件后缀名。

思路:跟上一个一样,只是动作稍稍有一些不同,直接上代码

package pack;
import java.util.*;
import java.io.*;
class CopyRenameFile{
	public static void main(String[] args)throws IOException{
		File dir=new File("E:\\JAVASE\\JAVA复习代码\\");// 明确源
		File filename=new File("E:\\");// 目的
		renameToFile(dir,filename);// 调用方法
	}
	private static void renameToFile(File dir,File filename)throws IOException{
		File[] files=dir.listFiles();// 将源目录下的所有文件装进数组。
		ArrayList<File>al=new ArrayList<File>();// 定义一个集合,该集合存储的是一个File对象。
		FileInputStream fis;// 字节读取流
		FileOutputStream fos;// 字节输出流
		for(File file: files){// 对数组进行变量
			if(file.isDirectory())
				renameToFile(file,filename);// 如果被遍历的文件是个目录,那么继续调用该方法。
			else
				if(file.getName().endsWith(".java"))// 如果是.java,就将该文件添加进List集合。
					al.add(file);
		}
		for(File file: al){// 对集合进行变量
			String name=file.getName().replace(".java",".txt");// 将集合中的.java替换成.txt。<pre name="code" class="javascript"><span style="white-space:pre">			</span>File newFile=new File(filename,name);// 将目录与替换后的名称封装成File,用于写入时定义的名称
			fis=new FileInputStream(file);// 读取
			fos=new FileOutputStream(newFile);// 写入
			int len=0;
			byte[] buf=new byte[1024];
			while((len=fis.read(buf))!=-1){
				fos.write(buf,0,len);
			}
			fis.close();
			fos.close();
		}
	}
} 


分析复制文件,在复制过程中更改文件后缀名

标签:

原文地址:http://blog.csdn.net/qiang3570/article/details/44871049

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!