Java文件与类动手动脑实例详解
动手动脑1:
使用Files.walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件。
packageclassJava; importjava.io.IOException; importjava.nio.file.FileSystems; importjava.nio.file.FileVisitOption; importjava.nio.file.FileVisitResult; importjava.nio.file.FileVisitor; importjava.nio.file.Files; importjava.nio.file.Path; importjava.nio.file.Paths; importjava.nio.file.attribute.BasicFileAttributes; importjava.util.EnumSet; publicclasstitletwoimplementsFileVisitor
使用Files.walkFileTree()找出指定文件夹下所有扩展名为.txt和.java的文件。
packageclassJava; importjava.io.IOException; importjava.nio.file.FileSystems; importjava.nio.file.FileVisitResult; importjava.nio.file.Files; importjava.nio.file.Path; importjava.nio.file.PathMatcher; importjava.nio.file.Paths; importjava.nio.file.SimpleFileVisitor; importjava.nio.file.attribute.BasicFileAttributes; publicclasstitletwo{ publicstaticvoidmain(Stringargs[])throwsIOException{ Stringglob="glob:**/*.{java,txt}"; Stringpath="D:/"; match(glob,path); } publicstaticvoidmatch(Stringglob,Stringlocation)throwsIOException{ finalPathMatcherpathMatcher=FileSystems.getDefault().getPathMatcher(glob); Files.walkFileTree(Paths.get(location),newSimpleFileVisitor(){ @Override publicFileVisitResultvisitFile(Pathpath, BasicFileAttributesattrs)throwsIOException{ if(pathMatcher.matches(path)){ System.out.println(path); } returnFileVisitResult.CONTINUE; } @Override publicFileVisitResultvisitFileFailed(Pathfile,IOExceptionexc) throwsIOException{ returnFileVisitResult.CONTINUE; } }); } }
使用Files.walkFileTree()找出指定文件夹下所有包容指定字符串的txt文件。
packageclassJava; importjava.io.IOException; importjava.io.*; importjava.nio.file.FileSystems; importjava.nio.file.FileVisitResult; importjava.nio.file.Files; importjava.nio.file.Path; importjava.nio.file.PathMatcher; importjava.nio.file.Paths; importjava.nio.file.SimpleFileVisitor; importjava.nio.file.attribute.BasicFileAttributes; publicclasstitletwo{ publicstaticvoidmain(Stringargs[])throwsIOException{ Stringglob="glob:**/*.txt"; Stringpath="D:\\wenjian"; match(glob,path); } publicstaticvoidmatch(Stringglob,Stringlocation)throwsIOException{ finalPathMatcherpathMatcher=FileSystems.getDefault().getPathMatcher(glob); Files.walkFileTree(Paths.get(location),newSimpleFileVisitor(){ @Override publicFileVisitResultvisitFile(Pathpath, BasicFileAttributesattrs)throwsIOException{ if(pathMatcher.matches(path)){ BufferedReaderreader=Files.newBufferedReader(path);//读取文件内的内容 Stringline=null; while((line=reader.readLine())!=null){ if(line.equals("account"))//若读取的内容等于“account"则输出文件名 { System.out.println(path); break; } } } returnFileVisitResult.CONTINUE; } @Override publicFileVisitResultvisitFileFailed(Pathfile,IOExceptionexc) throwsIOException{ returnFileVisitResult.CONTINUE; } }); } }
动手动脑2:
java.nio.file.WatchService文件系统监视服务的接口类,它的具体实现由监视服务提供者负责加载。
java.nio.file.Watchable实现了java.nio.file.Watchable的对象才能注册监视服务WatchService。java.nio.file.Path实现了watchable接口,后文使用Path对象注册监视服务。
java.nio.file.WatchKey该类代表着Watchable对象和监视服务WatchService的注册关系。WatchKey在Watchable对象向WatchService注册的时候被创建。它是Watchable和WatchService之间的关联类。
以上就是本次介绍的关于Java文件与类动手动脑实例的全部知识点,感谢大家的学习和对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。