A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 袁梦希 金牌黑马   /  2013-4-3 21:09  /  1030 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 袁梦希 于 2013-4-4 17:23 编辑

  需求1.  给定一个路径,然后找出这个路径中所有.java文件和.txt文件(包括子文件),

             2.  然后将这些文件拷贝到一个新文件夹下。

3 个回复

倒序浏览
import java.io.*;
import java.util.*;

public class MoveFile{
        private static ArrayList<File> al = new ArrayList<File>();
       
        public static void main(String[] args) {
                //将F:/java目录下的*。java文件和*。txt文件拷贝到F:/move目录下
                moveFile("F:\\java", "F:\\move");
        }
       
        //将文件移动到指定的目录下
        public static void moveFile(String src, String goal){
                ArrayList<File> files = getFile(src);
                BufferedReader bufr = null;
                BufferedWriter bufw = null;
                for(File file : files){
                        try {
                                bufr = new BufferedReader(new FileReader(file));
                               
                                File f = new File(goal + "\\" + file.getName());
                                if(!f.exists())
                                        f.createNewFile();
                               
                                bufw = new BufferedWriter(new FileWriter(f));
                               
                                String line = null;
                                while((line = bufr.readLine()) != null){
                                        bufw.write(line);
                                        bufw.newLine();
                                        bufw.flush();
                                }
                        } catch (FileNotFoundException e) {
                                // TODO Auto-generated catch block
                                throw new RuntimeException("未找到源文件");
                        } catch (IOException e) {
                                // TODO Auto-generated catch block
                                throw new RuntimeException("拷贝失败");
                        }finally{
                                try {
                                        if(bufw != null)
                                                bufw.close();
                                        if(bufr != null)       
                                                bufr.close();
                                } catch (IOException e) {
                                        // TODO Auto-generated catch block
                                        throw new RuntimeException("流资源关闭失败");
                                }
                        }
                }
        }
       
        //获取一个目录下所有的文件和子文件,并且文件是*.java文件或者是*.txt文件
        public static ArrayList<File> getFile(String src){
                File f = new File(src);
                File[] files = f.listFiles();
               
                for(File file : files){
                        if(file.isFile()){
                                String fileName = file.getName();
                                if(fileName.endsWith(".java") || fileName.endsWith(".txt")){
                                        al.add(file);
                                }
                        }else
                                if(file.isDirectory()){
                                        getFile(file.getAbsolutePath());
                                }
                }
               
                return al;
        }
}

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
黑马_位志国 发表于 2013-4-4 15:39
import java.io.*;
import java.util.*;

谢谢兄弟
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马