zoukankan      html  css  js  c++  java
  • java之高效操作文件

    代码:

     1 import java.io.IOException; 
     2 import java.nio.file.FileVisitOption; 
     3 import java.nio.file.FileVisitResult; 
     4 import java.nio.file.FileVisitor; 
     5 import java.nio.file.Files; 
     6 import java.nio.file.Path; 
     7 import java.nio.file.Paths; 
     8 import java.nio.file.attribute.BasicFileAttributes; 
     9 import java.util.EnumSet; 
    10 class DeleteDirectory implements FileVisitor {     
    11  
    12  boolean deleteFileByFile(Path file) throws IOException { 
    13     return Files.deleteIfExists(file); 
    14  } 
    15  
    16  @Override 
    17  public FileVisitResult postVisitDirectory(Object dir, IOException exc)  
    18                                                                   throws IOException { 
    19  
    20     if (exc == null) { 
    21         System.out.println("Visited: " + (Path) dir); 
    22         boolean success = deleteFileByFile((Path) dir); 
    23  
    24         if (success) { 
    25              System.out.println("Deleted: " + (Path) dir); 
    26         } else { 
    27               System.out.println("Not deleted: " + (Path) dir); 
    28         } 
    29     } else { 
    30         throw exc; 
    31     } 
    32     return FileVisitResult.CONTINUE; 
    33  } 
    34  
    35  @Override 
    36  public FileVisitResult preVisitDirectory(Object dir, BasicFileAttributes attrs)  
    37                                                                   throws IOException { 
    38    return FileVisitResult.CONTINUE;  
    39  } 
    40  
    41  @Override 
    42  public FileVisitResult visitFile(Object file, BasicFileAttributes attrs)  
    43                                                                   throws IOException { 
    44    boolean success = deleteFileByFile((Path) file); 
    45  
    46    if (success) { 
    47         System.out.println("Deleted: " + (Path) file); 
    48    } else { 
    49         System.out.println("Not deleted: " + (Path) file); 
    50    } 
    51  
    52    return FileVisitResult.CONTINUE; 
    53  } 
    54  
    55  @Override 
    56  public FileVisitResult visitFileFailed(Object file, IOException exc)  
    57                                                                   throws IOException { 
    58    //report an error if necessary 
    59  
    60    return FileVisitResult.CONTINUE; 
    61  } 
    62 } 
    63  
    64 class Main { 
    65  
    66  public static void main(String[] args) throws IOException { 
    67  
    68    Path directory = Paths.get("C:/rafaelnadal"); 
    69    DeleteDirectory walk = new DeleteDirectory(); 
    70    EnumSet opts = EnumSet.of(FileVisitOption.FOLLOW_LINKS); 
    71  
    72    Files.walkFileTree(directory, opts, Integer.MAX_VALUE, walk);        
    73    } 
    74 } 
    View Code
  • 相关阅读:
    最小生成树
    线段树
    编程快捷键
    线段树的动态开点
    常用库
    线性求逆元
    文件读入
    树上倍增(LCA)
    set容器
    快读与快写
  • 原文地址:https://www.cnblogs.com/sqy-yyr/p/9364193.html
Copyright © 2011-2022 走看看