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

分享复制文件,并将文件扩展名更改为.txt

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

标签:

这是我自己的一种做法:

就是将一个文件下的所有.java文件复制到另一个文件,复制成功后,并将刚刚复制过去的文件改成.txt

思路:首先我们要明确我们要获取的源,并明确我们要存储的目的。

然后对源下面的文件进行遍历,如果是.java的文件就进行读取,并复制到目的。

复制成功后需要更改扩展名,那么我们在复制的时候定义一个变量,记录住每一个复制过去的文件名,

并用集合进行存储,在对集合进行遍历,将集合中的文件名的后缀更改为.txt,并进行封装成对象,

在对目的中的文件进行更改即可。

package pack;
import java.io.*;
import java.util.*;
class CopyFileRename{
	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<String>al=new ArrayList<String>();// 该集合用于存储每一次要复制时的路径。
		FileInputStream fis;// 字节读取流,用于读取源下的文件。
		FileOutputStream fos;// 字节输出流,将获取到的文件写入到目的。
		for(File file: files){// 对数组进行变量,并进行条件判断,
			if(file.isDirectory())
				renameToFile(file,filename);// 如果该文件是个目录,就再次调用此方法,
			else
				if(file.getName().endsWith(".java")){// 如果该文件是.java,就进行复制,
					String name=filename+file.getName();// 该变量用于记录复制文件的路径
					al.add(name);// 将路径添加进集合
					fis=new FileInputStream(file);// 读取file文件
					fos=new FileOutputStream(name);// 写入目的。
					int len=0;
					byte[] buf=new byte[1024];
					while((len=fis.read(buf))!=-1){
						fos.write(buf,0,len);
					}
					fis.close();
					fos.close();
				}
		}
		try{// 为了看到现象,在复制后成功后等待两秒。
			Thread.sleep(2000);
		}catch(Exception e){}
		for(int x=0; x<al.size(); x++){// 对集合进行变量
			File file=new File(al.get(x));// 将集合内容封装成file对象。
			String strName=file.getName();// 获取该file对象的名称。
			String newName=strName.replace(".java",".txt");// 将获取到的名称的后缀替换成.txt
			File newFile=new File(filename,newName);// 将替换后的名称封装成一个新的路径。
			try{// 为了看到改名的操作,每一秒。改一个。
				Thread.sleep(1000);
			}catch(Exception e){}
			file.renameTo(newFile);// 改名操作
		}
	}
}


分享复制文件,并将文件扩展名更改为.txt

标签:

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

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