Java基础知识强化之IO流笔记49:IO流练习之 复制指定目录下指定后缀名的文件并修改名称的案例
2015-10-11 22:33
881 查看
1. 复制指定目录下指定后缀名的文件并修改名称的案例
需求:复制指定目录下的指定文件,并修改后缀名。
• 指定的文件是:.java文件。
• 指定的后缀名是:.jad
• 指定的目录是:jad
数据源:e:\\java\\A.java
目的地:e:\\jad\\A.jad
分析:
A[b]:封装目录[/b]
B[b]:获取该目录下的java文件的File数组[/b]
C[b]:遍历该File数组,得到每一个File对象[/b]
D[b]:把该File进行复制[/b]
E[b]:在目的地目录下改名[/b]
2. 代码示例:
运行效果,如下:
需求:复制指定目录下的指定文件,并修改后缀名。
• 指定的文件是:.java文件。
• 指定的后缀名是:.jad
• 指定的目录是:jad
数据源:e:\\java\\A.java
目的地:e:\\jad\\A.jad
分析:
A[b]:封装目录[/b]
B[b]:获取该目录下的java文件的File数组[/b]
C[b]:遍历该File数组,得到每一个File对象[/b]
D[b]:把该File进行复制[/b]
E[b]:在目的地目录下改名[/b]
2. 代码示例:
package cn.itcast_04; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException; /* * 需求:复制指定目录下的指定文件,并修改后缀名。 * 指定的文件是:.java文件。 * 指定的后缀名是:.jad * 指定的目录是:jad * * 数据源:e:\\java\\A.java * 目的地:e:\\jad\\A.jad * * 分析: * A:封装目录 * B:获取该目录下的java文件的File数组 * C:遍历该File数组,得到每一个File对象 * D:把该File进行复制 * E:在目的地目录下改名 */ public class CopyFolderDemo { 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(); } // 获取该目录下的java文件的File数组 File[] fileArray = srcFolder.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return new File(dir, name).isFile() && name.endsWith(".java"); } }); // 遍历该File数组,得到每一个File对象 for (File file : fileArray) { // System.out.println(file); // 数据源:e:\\java\\DataTypeDemo.java // 目的地:e:\\jad\\DataTypeDemo.java String name = file.getName(); File newFile = new File(destFolder, name); copyFile(file, newFile); } // 在目的地目录下改名 File[] destFileArray = destFolder.listFiles(); for (File destFile : destFileArray) { // System.out.println(destFile); // e:\jad\DataTypeDemo.java // e:\\jad\\DataTypeDemo.jad String name =destFile.getName(); //DataTypeDemo.java String newName = name.replace(".java", ".jad");//DataTypeDemo.jad File newFile = new File(destFolder,newName); destFile.renameTo(newFile); } } private static void copyFile(File file, File newFile) throws IOException { 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(bys)) != -1) { bos.write(bys, 0, len); } bos.close(); bis.close(); } }
运行效果,如下:
相关文章推荐
- java中nextLine()和next()的区别
- Java Web cookie的有效期
- spring注解@service("service")括号中的service有什么用
- Spring注入单例模式问题2
- Spring注解@Component、@Repository、@Service、@Controller区别
- java入门第二天作业预习运算符
- 警惕自增的陷阱
- SpringMVC的原理、搭建和应用(三)
- Myeclipse中设置maven以及maven项目的导入
- Spring @Transactional (一)
- 关于java的点点滴滴(2) final关键字
- 实验二Java面向对象程序设计
- 避免带有变长参数的方法重载,别让null值和空值威胁到变长方法,覆写变长方法也循规蹈矩
- spring 注解配置bean2
- Java Math的 floor,round和ceil的总结
- JUnit单元测试入门
- Spring in Action 学习笔记三-AOP
- Struts2配置详解_配置Action
- Spring in Action 学习笔记二-DI
- Java基础知识强化之IO流笔记48:IO流练习之 复制单级文件夹案例