黑马程序员技术交流社区

标题: 自己做的小程序,求改进 [打印本页]

作者: wxf468907066    时间: 2016-3-23 23:10
标题: 自己做的小程序,求改进
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拷成歌曲串烧也不错.但是不能重名,重名后就一直烤,好危险的感觉,然后测试了一下烤视频文件,就是把一天的视频做成一个,就根本搞不成了,把文件都坏了,求指正!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2