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

这是我自己的做法:

将一个目录下的所有.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();
		}
	}
} 
				
时间: 2024-10-24 11:15:09

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

[]如何在Windows 10中更改文件夹背景颜色

ini文件.我们甚至可以使用相同的技术将图片设置为文件夹背景. 已有工具可以更改Windows 7中Windows资源管理器背景的颜色,并将图像设置为Windows 7中的文件夹背景,但这些工具与Windows 8引入的新文件管理器不兼容. 由于某些原因,这些文件夹背景更改工具在Windows 10和Windows 8/8中不起作用.1.自从Windows 10发布以来,用户一直在要求我们提出一种将图片设置为文件夹背景或至少更改文件夹背景颜色的方法,我们决定提出本指南. 如果您在Windows

[转]如何在Windows 10中更改文件夹背景颜色

ini文件.我们甚至可以使用相同的技术将图片设置为文件夹背景. 已有工具可以更改Windows 7中Windows资源管理器背景的颜色,并将图像设置为Windows 7中的文件夹背景,但这些工具与Windows 8引入的新文件管理器不兼容. 由于某些原因,这些文件夹背景更改工具在Windows 10和Windows 8/8中不起作用.1.自从Windows 10发布以来,用户一直在要求我们提出一种将图片设置为文件夹背景或至少更改文件夹背景颜色的方法,我们决定提出本指南. 如果您在Windows

VBS自编写脚本。(实现批量修改文件名且在执行前,备份原有文件夹中的文件)

'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0'' NAME: '' AUTHOR: Microsoft , Microsoft' DATE : 2014/7/9'' COMMENT: '批量修改文件夹下对应的所有文件名''==========

C++获取文件夹中所有文件

获取文件夹中的文件,用到过很多次,每次用的时候都要去查下,很烦,所以想自己写下,当然,借鉴了很多其他大佬的博客 主要实现的函数,如下: 1 void getFiles( string path, vector<string>& files ) 2 { 3 //文件句柄 4 long hFile = 0; 5 //文件信息 6 struct _finddata_t fileinfo; 7 string p; 8 if((hFile = _findfirst(p.assign(path).

java使用POI实现excel文件的读取,兼容后缀名xls和xlsx

需要用的jar包如下: 如果是maven管理的项目,添加依赖如下: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </depen

遍历文件夹中所有文件(C++)

想要实现对 文件夹 中 文件信息 的 查找与路径获取,需要用到 头文件 #include "io.h" 中的 一个结构体 和 三个函数 1. 结构体 struct _finddata_t 用来存储文件各种信息. struct _finddata_t { unsigned attrib;//文件的属性 time_t time_create;//文件的创建时间 time_t time_access;//文件最后一次被访问的时间 time_t time_write;//文件最后一次被修改的时

Android 读取assets文件夹中json文件

这里要介绍一下 读取assets文件夹中json文件 转换成list 集合 只接看代码 非常简单 public static List<State> getStates(Context context) { InputStream is = null; ByteArrayOutputStream bos = null; try { is = context.getAssets().open("area.json"); bos = new ByteArrayOutputStr

如何删除文件夹中的文件?--【SVN系列集锦】

背景: 某年某月某日,菜鸟小美,向服务器SVN里面上传文件,上传了之后发现没有命名好,于是改名了重新上传,结果就重复了.为了删除,她开始了不懈的努力~ 请问: SVN服务端的文件夹是可以删除的,那么文件夹中的文件如何删除呢? 经过的度娘的帮助,很容易找到了解决方案,菜鸟小美总结如下: 1)右键SVN客户端文件 .Net新生入学——选择TortoiseSVN——选择Delete,即可删除.不过仅仅这样是不足够的. 2)提交改动过后的整个文件夹,这样就ok啦! 感受: 如果不去尝试,永远都停留在半山

获取文件路径、文件名、后缀名

#########start 获取文件路径.文件名.后缀名############ from gevent import os def jwkj_get_filePath_fileName_fileExt(filename): (filepath,tempfilename) = os.path.split(filename); (shotname,extension) = os.path.splitext(tempfilename); return filepath,shotname,exten