zoukankan      html  css  js  c++  java
  • JAVA FILE or I/O学习

     1 public class CopyFiles
     2 {
     3     public static void main(String[] args)
     4     {
     5         CopyFiles copyFiles = new CopyFiles();
     6         copyFiles.copyS("E:\", "【    图 片    】", "E:\cba");
     7     }
     8     public void copyS(String sourcePath,String name,String newPath)
     9     {
    10         File file = new File(sourcePath, name);
    11         if (file.isDirectory())
    12         {
    13             //在新位置创建该文件夹
    14             File fileDir = new File(newPath, name);
    15             if (!fileDir.exists())
    16             {
    17                 fileDir.mkdir();
    18                 System.out.println("复制文件夹:"+fileDir);
    19             }
    20             else {
    21                 JOptionPane.showMessageDialog(null, "新路径中已经存在该文件!
    "+fileDir, "复制文件 - 提示", JOptionPane.WARNING_MESSAGE);
    22                 return;
    23             }
    24             
    25             //操作原位置文件夹中的文件、文件夹
    26             File[] nextFiles = file.listFiles();
    27             if (nextFiles.length == 0)
    28             {
    29                 return;
    30             }
    31             else {
    32                 for (File fileNext : nextFiles)
    33                 {
    34                     copyS(file.getAbsolutePath(), fileNext.getName(), fileDir.getAbsolutePath());
    35                 }
    36             }
    37         }
    38         else {
    39             //复制文件
    40             byte[] data = new byte[1024];
    41             try
    42             {
    43                 BufferedInputStream input = new BufferedInputStream(new FileInputStream(file));
    44                 File fileNew = new File(newPath, name);
    45                 if (fileNew.exists())
    46                 {
    47                     JOptionPane.showMessageDialog(null, "新路径中已经存在该文件!
    "+fileNew, "复制文件 - 提示", JOptionPane.WARNING_MESSAGE);
    48                     return;
    49                 }
    50                 fileNew.createNewFile();
    51                 System.out.println("复制文件:"+fileNew);
    52                 BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(fileNew));
    53                 while (input.read(data) != -1)
    54                 {
    55                     output.write(data);
    
    56                 }
    57                 output.flush();
    58                 output.close();
    59                 input.close();
    60             } catch (FileNotFoundException e)
    61             {
    62                 // TODO Auto-generated catch block
    63                 e.printStackTrace();
    64             } catch (IOException e)
    65             {
    66                 // TODO Auto-generated catch block
    67                 e.printStackTrace();
    68             }
    69         }
    70     }
    71 }
  • 相关阅读:
    Linux学习
    PHP语法笔记
    iOS二次发育(swift)闭包
    iOS二次发育(swift)类
    iOS二次发育(swift)结构体
    iOS二次发育(swift)枚举
    【NOIP2013模拟联考14】隐藏指令
    【NOIP2012模拟8.9】逐个击破
    NOIP2020.9.19模拟patrick
    NOIP2020.9.19模拟 spongebob
  • 原文地址:https://www.cnblogs.com/Wfei/p/3332783.html
Copyright © 2011-2022 走看看