zoukankan      html  css  js  c++  java
  • 复制D:\day05目录下的所有文件到D:\copy,并将.txt文件改为.java文件。

    **解题思路:
    1.首先定义一个静态的refile方法,参数传入两个文件路径
    2.要复制目录下的所有文件,首先查询File类的方法,可以使用listFiles方法得到目录下的文件
    3.想到这问题基本就解决了,遍历目录下的所有文件,如果不是.txt文件,那么就直接利用流进行复制(复制路径要进行路径名的重设,也就是拼串操作,具体见代码)如果是.txt文件,那么就要将文件名替换为.java**
     1 import java.io.File;
     2 import java.io.FileNotFoundException;
     3 import java.io.FileReader;
     4 import java.io.FileWriter;
     5 import java.io.IOException;
     6 import java.io.Reader;
     7 import java.io.Writer;
     8 
     9 public class FileDemo {
    10     public static void main(String[] args) throws IOException {
    11         File file = new File("D:\day05");
    12         File file1 = new File("D:\copy");
    13         refile(file,file1);
    14     
    15 
    16     }
    17     public static void refile(File file,File file1) throws IOException{
    18         
    19         File[] listFiles = file.listFiles();
    20         for (int i = 0; i < listFiles.length; i++) {
    21             File file2 = listFiles[i];
    22             if(file2.isDirectory()){
    23                 refile(file2,file1);
    24             }else{
    25                     String name = file2.getName();
    26                     if(name.endsWith(".txt")){
    27                         String name1 = name.replace(".txt", ".java");
    28                         Reader reader = new FileReader(file2);
    29                         Writer writer = new FileWriter(file1+"\"+name1);
    30                         char[] byt = new char[10];
    31                         int o = 0;
    32                         while((o=reader.read(byt))!=-1){
    33                             writer.write(byt,0,o);
    34                         }
    35                         System.out.println(file2.getName()+"复制成功");
    36                     }else{
    37                         Reader reader = new FileReader(file2);
    38                         Writer writer = new FileWriter(file1+"\"+name);
    39                         char[] byt = new char[10];
    40                         int o = 0;
    41                         while((o=reader.read(byt))!=-1){
    42                             writer.write(byt,0,o);                    
    43                     }
    44                         System.out.println(file2.getName()+"复制成功");
    45                     }
    46             }
    47         
    48     }
    49     }
    50 }
    View Code
  • 相关阅读:
    初步学习pg_control文件之四
    初步学习pg_control文件之三
    初步学习pg_control文件之二
    初步认识pg_control文件之一
    Slony-I的 RemoteWorker重试调查
    对Slony-I中wait on的理解
    超高逼格Log日志打印
    实现列表二级展开/收起/选择
    贝塞尔曲线实现购物车飞入效果
    乐鑫esp8266的 基于Nonos移植红外线1883,实现遥控器控制
  • 原文地址:https://www.cnblogs.com/nanlinghan/p/9613582.html
Copyright © 2011-2022 走看看