zoukankan      html  css  js  c++  java
  • Java基础知识强化之IO流笔记49:IO流练习之 复制指定目录下指定后缀名的文件并修改名称的案例

    1. 复制指定目录下指定后缀名的文件并修改名称的案例

        需求:复制指定目录下的指定文件,并修改后缀名。

      • 指定的文件是:.java文件。

        • 指定的后缀名是:.jad

        • 指定的目录是:jad

    数据源:e:\java\A.java

    目的地:e:\jad\A.jad

       分析:
          A封装目录
          B获取该目录下的java文件的File数组
          C遍历该File数组,得到每一个File对象
          D把该File进行复制
          E在目的地目录下改名

    2. 代码示例:

     1 package cn.itcast_04;
     2 
     3 import java.io.BufferedInputStream;
     4 import java.io.BufferedOutputStream;
     5 import java.io.File;
     6 import java.io.FileInputStream;
     7 import java.io.FileOutputStream;
     8 import java.io.FilenameFilter;
     9 import java.io.IOException;
    10 
    11 /*
    12  * 需求:复制指定目录下的指定文件,并修改后缀名。
    13  * 指定的文件是:.java文件。
    14  * 指定的后缀名是:.jad
    15  * 指定的目录是:jad
    16  * 
    17  * 数据源:e:\java\A.java
    18  * 目的地:e:\jad\A.jad
    19  * 
    20  * 分析:
    21  *         A:封装目录
    22  *         B:获取该目录下的java文件的File数组
    23  *         C:遍历该File数组,得到每一个File对象
    24  *         D:把该File进行复制
    25  *         E:在目的地目录下改名
    26  */
    27 public class CopyFolderDemo {
    28     public static void main(String[] args) throws IOException {
    29         // 封装目录
    30         File srcFolder = new File("e:\java");
    31         // 封装目的地
    32         File destFolder = new File("e:\jad");
    33         // 如果目的地目录不存在,就创建
    34         if (!destFolder.exists()) {
    35             destFolder.mkdir();
    36         }
    37 
    38         // 获取该目录下的java文件的File数组
    39         File[] fileArray = srcFolder.listFiles(new FilenameFilter() {
    40             @Override
    41             public boolean accept(File dir, String name) {
    42                 return new File(dir, name).isFile() && name.endsWith(".java");
    43             }
    44         });
    45 
    46         // 遍历该File数组,得到每一个File对象
    47         for (File file : fileArray) {
    48             // System.out.println(file);
    49             // 数据源:e:\java\DataTypeDemo.java
    50             // 目的地:e:\jad\DataTypeDemo.java
    51             String name = file.getName();
    52             File newFile = new File(destFolder, name);
    53             copyFile(file, newFile);
    54         }
    55 
    56         // 在目的地目录下改名
    57         File[] destFileArray = destFolder.listFiles();
    58         for (File destFile : destFileArray) {
    59             // System.out.println(destFile);
    60             // e:jadDataTypeDemo.java
    61             // e:\jad\DataTypeDemo.jad
    62             String name =destFile.getName(); //DataTypeDemo.java
    63             String newName = name.replace(".java", ".jad");//DataTypeDemo.jad
    64             
    65             File newFile = new File(destFolder,newName);
    66             destFile.renameTo(newFile);
    67         }
    68     }
    69 
    70     private static void copyFile(File file, File newFile) throws IOException {
    71         BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
    72                 file));
    73         BufferedOutputStream bos = new BufferedOutputStream(
    74                 new FileOutputStream(newFile));
    75 
    76         byte[] bys = new byte[1024];
    77         int len = 0;
    78         while ((len = bis.read(bys)) != -1) {
    79             bos.write(bys, 0, len);
    80         }
    81 
    82         bos.close();
    83         bis.close();
    84     }
    85 }

    运行效果,如下:

     

  • 相关阅读:
    国外邮箱怎么选择?哪个企业邮箱收发国际邮件比较稳定?
    企业邮箱哪家好,什么企业邮箱安全稳定好用?
    电子邮箱客户端如何设置?POP3与IMAP协议有什么区别?
    自建企业邮箱对比外包企业邮箱,集团企业邮箱该如何选择?
    集团大企业什么邮箱,大公司申请邮箱要注意什么呢
    双十一怎么买?TOM VIP邮箱推出稀缺靓号,超值福利等你领!
    双十一企业邮箱攻略送你啦!TOM企业邮箱双十一限时4折!仅余200名额!
    企业邮箱怎么买更优惠?双11申请企业邮箱哪家价更低?
    发错邮件怎么办,误删重要邮件怎么办?TOM vip邮箱后悔药一剂,请查收~
    企业邮箱登录注册,外贸企业邮箱购买哪个好?
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4870285.html
Copyright © 2011-2022 走看看