• Path;Paths和Files;FileVisitor



    package filet; import java.io.FileOutputStream; import java.nio.file.FileStore; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; public class FileTest { public static void main(String[] args) throws Exception { //复制文件 Files.copy(Paths.get("C:\Users\Administrator\Desktop\a.txt"),new FileOutputStream("C:\Users\Administrator\Desktop\test.txt")); //一次性得到fileTest的所有文件 List<String> lines = Files.readAllLines(Paths.get("C:\Users\Administrator\Desktop\a.txt")); System.out.println(lines); //复制文件 Files.copy(Paths.get("C:\Users\Administrator\Desktop\dd.png"),new FileOutputStream("C:\Users\Administrator\Desktop\ddtest.png")); List<String> pome = new ArrayList<>(); pome.add("aadddd"); pome.add("dfgfdf"); //直接将多个字符串内容写入指定文件 Files.write(Paths.get("C:\Users\Administrator\Desktop\a.txt"),pome); //使用java8新增的Stream API读取文件内容 Files.list(Paths.get(".")).forEach(path->System.out.println(path)); Files.lines(Paths.get("C:\Users\Administrator\Desktop\a.txt")).forEach(line->System.out.println(line)); //判断c盘可用空间 FileStore csStore = Files.getFileStore(Paths.get("C:")); System.out.println("C共有空间:"+csStore.getTotalSpace()); System.out.println("C可用空间:"+csStore.getUsableSpace()); } }

      使用FileVisitor遍历文件和目录

    package filet;
    
    
    import java.nio.file.FileVisitResult;
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    import java.nio.file.SimpleFileVisitor;
    import java.nio.file.attribute.BasicFileAttributes;
    
    public class FileVisitorTest {
        
        
        public static void main(String[] args) throws Exception {
            
            //遍历该盘下的所有文件和子目录
            Files.walkFileTree(Paths.get("C:\Users\Administrator\Desktop"), new     SimpleFileVisitor<Path>() {
                
                //访问文件时触发该方法
                @Override
                public FileVisitResult visitFile(Path file,BasicFileAttributes attrs) {
                    System.out.println("正在访问"+file+"文件");
                    //找到了File
                    if(file.endsWith("a.txt")) {
                        System.out.println("已找到目标文件");
                        return FileVisitResult.TERMINATE;
                    }
                    return FileVisitResult.CONTINUE;
                    
                }
                
                //开始访问目标目录时触发该方法
                @Override
                public FileVisitResult preVisitDirectory(Path dir,BasicFileAttributes attrs) {
                    
                    
                    System.out.println("正在访问:"+dir+"路径");
                    
                    return FileVisitResult.CONTINUE;
                    
                    
                    
                }
                
                
                
                
            });
            
        
            
            
        }
    
    }
  • 相关阅读:
    「2020 新手必备 」极速入门 Retrofit + OkHttp 网络框架到实战,这一篇就够了!
    结合源码,重温 Android View 的事件处理知多少 ?
    Android 这 13 道 ContentProvider 面试题,你都会了吗?
    17 个必须掌握的 BroadcastReceiver 知识点「建议收藏」
    23 个重难点突破,带你吃透 Service 知识点「长达 1W+ 字」
    Activity 的 36 大难点,你会几个?「建议收藏」
    Python time模块
    vue项目的创建
    githunb和码云生成/添加SSH公钥
    weex打包apk步骤
  • 原文地址:https://www.cnblogs.com/charlypage/p/9064612.html
Copyright © 2020-2023  润新知