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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wxf468907066 中级黑马   /  2016-3-23 23:10  /  791 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void main(String[] args)throws IOException{
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入要拷贝的格式:");
                String format = sc.nextLine();
                System.out.println("请为你的新文件命名:");
                String name = sc.nextLine();
                targetFile(getFile(),format,name);
        }
        public static File getFile(){                                //返回值类型File,无参数类型
                        System.out.println("请输入需要查找的文件夹路径:");
                        Scanner sc = new Scanner(System.in);
                        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;
                                }
                        }       
                }
        public static void targetFile(File dir,String format,String name) throws IOException {
                File[] subFiles = dir.listFiles();
                for (File subFile : subFiles) {
                        if(subFile.getName().toString().equals(name)){
                                System.out.println("请换名字:");
                        }else{
                                if(subFile.isFile() && subFile.getName().endsWith("." + format)) {
                                        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(subFile));
                                        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File("D:\\KuGou" + name + ".mp3"),true));
                                        int a;
                                        while((a = bis.read()) != -1) {
                                                bos.write(a);
                                        }
                                        bis.close();
                                        bos.close();
                                }else if(subFile.isDirectory()){
                                        targetFile(subFile,format,name);
                                }
                       
                        }
                }
        }
}
       
开始想着要把所有的笔记拷到一个txt里面做的这个,后来自己把mp3拷成歌曲串烧也不错.但是不能重名,重名后就一直烤,好危险的感觉,然后测试了一下烤视频文件,就是把一天的视频做成一个,就根本搞不成了,把文件都坏了,求指正!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马