编程实现文件复制和重命名

痛定思痛。 2022-06-16 11:25 420阅读 0赞

编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。

  1. package com.alex.test3;
  2. import java.io.File;
  3. import java.io.FileFilter;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. public class Java2Jad {
  8. /**
  9. * @param args
  10. * @throws Exception
  11. */
  12. public static void main(String[] args) throws Exception {
  13. File javaFile = new File("D:\\java");
  14. File[] javaFiles=null;
  15. if(javaFile.exists()&&javaFile.isDirectory()){
  16. javaFiles=javaFile.listFiles(
  17. new FileFilter(){
  18. public boolean accept(File pathname) {
  19. return pathname.getName().endsWith(".java");
  20. }
  21. });
  22. copyAndRenameFiles(javaFiles,"D:\\jad","\\.java",".jad");
  23. System.out.println("copy successful...");
  24. }else{
  25. throw new Exception("there are not such directroy");
  26. }
  27. }
  28. public static void copyAndRenameFiles(File[] sourceFiles,String targetFilePath,String originalSuffix,String targetSuffix){
  29. File targetFile = new File(targetFilePath);
  30. FileWriter fw = null;
  31. FileReader fr = null;
  32. if(!targetFile.isDirectory()){
  33. targetFile.mkdir();
  34. }
  35. try {
  36. for(File file:sourceFiles){
  37. fw = new FileWriter(targetFilePath+"\\"+file.getName().replaceAll(originalSuffix, targetSuffix));
  38. int len=0;
  39. char[] cbuf=new char[(int)file.length()];
  40. fr = new FileReader(file);
  41. while((len=fr.read(cbuf))!=-1){
  42. fw.write(cbuf,0,len);
  43. }
  44. }
  45. fw.close();
  46. } catch (IOException e) {
  47. e.printStackTrace();
  48. }
  49. }
  50. }

发表评论

表情:
评论列表 (有 0 条评论,420人围观)

还没有评论,来说两句吧...

相关阅读

    相关 linux 命名文件文件夹

      linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.   例子:将目录A重命名为B   mv A B   例子:将/a目录移动到/b下,并重