编写程序,将指定目录下所有.java 文件拷贝到另一个目的中,并将扩展名改为.txt。
2016-04-12 23:04
701 查看
package com.heima.test; 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.IOException; import java.util.Scanner; import javax.imageio.stream.FileImageInputStream; public class Test02 { /**编写程序,将指定目录下所有.java 文件拷贝到另一个目的中,并将扩展名改为.txt。 * @param args * @throws IOException */ public static void main(String[] args) throws IOException { File src = getDir(); File dest = getDir(); copy(src,dest); reName(dest); } public static void reName(File dest) { File [] subFiles = dest.listFiles(); for (File subFile : subFiles) { if(subFile.isFile()){ if(subFile.getName().endsWith(".java")){ System.out.println(subFile.getPath().replaceAll("\\.java", ".txt")); File newName = new File(subFile.getPath().replaceAll("\\.java", ".txt")); subFile.renameTo(newName); } }else{ reName(subFile); } } } public static void copy(File src, File dest) throws IOException { File newDir = new File(dest,src.getName()); newDir.mkdir(); File []subFiles = src.listFiles(); for (File subFile : subFiles) { if(subFile.isFile()){ BufferedInputStream bis = new BufferedInputStream(new FileInputStream(subFile)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(newDir,subFile.getName()))); int len; while((len = bis.read()) != -1){ bos.write(len); } bis.close(); bos.close(); }else{ copy(subFile, newDir); } } } public static File getDir() { Scanner sc = new Scanner(System.in); System.out.println("输入文件夹路径:"); while(true){ String line = sc.nextLine(); File dir = new File(line); if(!dir.exists()){ System.out.println("文件夹路径不存在!重输:"); }else if(dir.isFile()){ System.out.println("不是文件夹,是文件!重输:"); }else{ return dir; } } } }
相关文章推荐
- Spring中bean的scope
- Maven配置Spring+SpringMVC+MyBatis(3.2.2)Pom
- Java I/O(一) NIO概述
- Intellijidea建javaWeb以及Servlet简单实现
- myeclipse与mysql练习
- java OPENCV 连通域, Imgproc.findContours 例子,参数说明
- struts2标签在jsp不显示问题(不经过action跳转)
- JAVA多线程学习(一)
- java字节码中的aload_0
- LeetCode Merge Sorted Array 88
- Java枚举类
- Hibernate映射集合(JDK以及嵌入式值类)
- Java获取 JVM 运行信息
- java:解决在nextInt()后使用nextLine()的方法
- java上机课代码。。。重写equals方法,toString方法。。。
- java项目几种常见数据库连接池的使用比较
- Java设计模式--观察者模式
- Java阻塞中断和LockSupport
- java22天
- 牛客网-华为机试在线训练-1.求int型数据在内存中存储时1的个数