欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt

程序员文章站 2022-06-16 16:59:23
...
package two;
//编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt
import java.io.*;  
public class di9 {  
    public static void main(String args[]) throws Exception{  
    System.out.println("请输入文件所在的路径");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String path=br.readLine();
       // String path = "D:\\File\\workspace\\heima\\src\\fourteen";  
        File root = new File(path);  
        //判断路径  
        if(! root.exists() && root.isDirectory()){  
            System.out.println("路径有误!");  
        }  
        File[] files = root.listFiles(  
            new FilenameFilter(){  
                //文件名称过滤  
                @Override  
                public boolean accept(File dir, String name) {  
                        return name.endsWith(".java");  
                }  
            }  
        );  
          
        File targetFile = new File("d:\\a");  
        if(! targetFile.exists()){  
            //不存在则创建新目录  
            targetFile.mkdir();  
        }  
        for(File file : files){  
            FileInputStream fis = new FileInputStream(file);  
            //名称替换  
            String targetFileName = file.getName().replaceAll("\\.java$", ".txt");  /*正则表达式,
            以$表示是以.java结尾的所用java文件,替换为.txt结尾的后缀。*/
            FileOutputStream fos = new FileOutputStream(new File(targetFile, targetFileName));  
            FileCopy(fis, fos);  
            fis.close();  
            fos.close();  
        }  
        System.out.println("复制成功!");  
    }  
  
  
    private static void FileCopy(FileInputStream fis, FileOutputStream fos) throws Exception{  
        byte[] data = new byte[1024];  
        while(true){  
            int len = fis.read(data);  
            if(len == -1){  
                break;  
            }  
            fos.write(data, 0, len);  
            fos.flush();  
        }  
    }  
}