- package com.sun.file;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.ArrayList;
- import java.util.List;
- public class Change {
- public static void main(String[] args) {
-
- if (Change.javaToTxt(new File("d:"+File.separator+"pro"), new File("d:"+File.separator+"11")))
- System.out.println("文件复制完成:总共"+listFile.size()+"个文件");
- else
- System.out.println("文件复制失败");
- }
- private static List<File> listFile = new ArrayList<File>();// 用于存放所有需要copy的文件
- public static boolean javaToTxt(File src, File des) {
- toList(src);// 先将src中所有.java文件放入list中
- if (toCopy(des))
- return true;
- return false;
- }
- /**
- * 用于将list中所有.java文件复制到目标路径下 并实现改名
- *
- * @param des
- * @return
- */
- private static boolean toCopy(File des) {
- BufferedReader br = null;
- BufferedWriter bw = null;
- try {
- for (File fileSrc : listFile) {
- br = new BufferedReader(new FileReader(fileSrc));
- bw = new BufferedWriter(new FileWriter(new File(
- des.getAbsolutePath()+File.separator
- + fileSrc.getName().replace(".java", ".txt"))));
- String content = null;
- while ((content = br.readLine()) != null) {
- bw.write(content);
- }
- bw.flush();
- br.close();
- bw.close();
- }
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
- /**
- * 用于将一个目录中的所有.java文件存入list中
- *
- * @param file
- */
- public static void toList(File file) {
- if (!file.exists())
- return;
- if (file.isFile() && file.getName().endsWith(".java")) {
- listFile.add(file);
- } else {
- File[] files = file.listFiles();
- if (files != null)
- for (File file2 : files) {
- toList(file2);
- }
- }
- }
- }
复制代码 10分钟写出来的,没做文件隐藏性判断,输入的参数是D:/pro中的所有.java文件改名写入D:/11文件夹中,没按照层次输出
|