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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。