Java文件与类动手动脑实例详解


Posted in Python onNovember 10, 2019

动手动脑1:

使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件。

package classJava;

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.FileVisitOption;
import java.nio.file.FileVisitResult;
import java.nio.file.FileVisitor;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.EnumSet;


public class titletwo implements FileVisitor<Object> {
 private long accepted_size;
 public void titletwo(String glob,long accepted_size) {
   FileSystems.getDefault().getPathMatcher("glob:" +glob);
   this.accepted_size=accepted_size; 
  }
  void search(Path file) throws IOException {
  long size = (Long) Files.getAttribute(file, "basic:size");
  if(size ==accepted_size) {  
    System.out.println(file);
  }
  
  }
  
  @Override
  public FileVisitResult postVisitDirectory(Object dir, IOException exc)throws IOException {  
    return FileVisitResult.CONTINUE;
  }
  
  @Override
  public FileVisitResult preVisitDirectory(Object dir, BasicFileAttributes attrs)throws IOException {  
    return FileVisitResult.CONTINUE;
  }
  
  @Override
  public FileVisitResult visitFile(Object file, BasicFileAttributes attrs)throws IOException {
  search((Path) file);   
  return FileVisitResult.CONTINUE;
  }
  
  @Override
  public FileVisitResult visitFileFailed(Object file, IOException exc)throws IOException { 
    return FileVisitResult.CONTINUE;
  }
   
  public static void main(String[] args) throws IOException{ 
    String glob= "*.jpg";   
    long size = 28672;  
    Path fileTree = Paths.get("D:/"); 
    titletwo walk=new titletwo();  
    EnumSet<FileVisitOption> opts=EnumSet.of(FileVisitOption.FOLLOW_LINKS);  
    System.out.println("D盘中大小等于28672字节的文件有");  
    Files.walkFileTree(fileTree, opts, Integer.MAX_VALUE, walk);
  }
}

使用Files. walkFileTree()找出指定文件夹下所有扩展名为.txt和.java的文件。

package classJava;

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.PathMatcher;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;

public class titletwo {

  public static void main(String args[]) throws IOException {
    String glob = "glob:**/*.{java,txt}";
    String path = "D:/";
    match(glob, path);
  }

  public static void match(String glob, String location) throws IOException {

    final PathMatcher pathMatcher = FileSystems.getDefault().getPathMatcher( glob);

    Files.walkFileTree(Paths.get(location), new SimpleFileVisitor<Path>() {

      @Override
      public FileVisitResult visitFile(Path path,
          BasicFileAttributes attrs) throws IOException {
        if (pathMatcher.matches(path)) {
          System.out.println(path);
        }
        return FileVisitResult.CONTINUE;
      }

      @Override
      public FileVisitResult visitFileFailed(Path file, IOException exc)
          throws IOException {
        return FileVisitResult.CONTINUE;
      }
    });
  }

}

使用Files. walkFileTree()找出指定文件夹下所有包容指定字符串的txt文件。

package classJava;

import java.io.IOException;
import java.io.*;
import java.nio.file.FileSystems;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.PathMatcher;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;

public class titletwo {

  public static void main(String args[]) throws IOException {
    String glob = "glob:**/*.txt";
    String path = "D:\\wenjian";
    match(glob, path);
  }

  public static void match(String glob, String location) throws IOException {

    final PathMatcher pathMatcher = FileSystems.getDefault().getPathMatcher( glob);

    Files.walkFileTree(Paths.get(location), new SimpleFileVisitor<Path>() {

      @Override
      public FileVisitResult visitFile(Path path,
          BasicFileAttributes attrs) throws IOException {
        if (pathMatcher.matches(path)) {
         BufferedReader reader =Files.newBufferedReader(path);//读取文件内的内容 
         String line=null;
         while((line = reader.readLine())!=null) {
          if(line.equals("account"))//若读取的内容等于“account"则输出文件名
          {
             System.out.println(path);
             break;
          }
          
         }
        }
         return FileVisitResult.CONTINUE;
      }

      @Override
      public FileVisitResult visitFileFailed(Path file, IOException exc)
          throws IOException {
        return FileVisitResult.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文件与类动手动脑实例的全部知识点,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
老生常谈进程线程协程那些事儿
Jul 24 Python
python爬虫headers设置后无效的解决方法
Oct 21 Python
python读文件保存到字典,修改字典并写入新文件的实例
Apr 23 Python
Python 实现「食行生鲜」签到领积分功能
Sep 26 Python
Django unittest 设置跳过某些case的方法
Dec 26 Python
Python 微信爬虫完整实例【单线程与多线程】
Jul 06 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
Python Selenium参数配置方法解析
Jan 19 Python
Python列表list操作相关知识小结
Jan 29 Python
学习Python需要哪些工具
Sep 04 Python
python与c语言的语法有哪些不一样的
Sep 13 Python
Python列表嵌套常见坑点及解决方案
Sep 30 Python
python语言线程标准库threading.local解读总结
Nov 10 #Python
Python 脚本拉取 Docker 镜像问题
Nov 10 #Python
Python如何优雅获取本机IP方法
Nov 10 #Python
python argparser的具体使用
Nov 10 #Python
python滑块验证码的破解实现
Nov 10 #Python
Python 中使用 PyMySQL模块操作数据库的方法
Nov 10 #Python
分享PyCharm的几个使用技巧
Nov 10 #Python
You might like
计数器详细设计
2006/10/09 PHP
php单例模式实现方法分析
2015/03/14 PHP
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
JavaScript加强之自定义event事件
2013/09/21 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
Angular7.2.7路由使用初体验
2019/03/01 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
python爬取NUS-WIDE数据库图片
2016/10/05 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
详解Python的三种拷贝方式
2020/02/11 Python
python离线安装外部依赖包的实现
2020/02/13 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
英国综合网上购物商城:The Hut
2018/07/03 全球购物
荷兰在线啤酒店:Beerwulf
2019/08/26 全球购物
酒店总经理工作职责
2013/12/13 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
优秀党员推荐材料
2014/12/18 职场文书
继承权公证书范本
2015/01/23 职场文书
2015社区爱国卫生工作总结
2015/04/21 职场文书
《正比例》教学反思
2016/02/23 职场文书
创业计划书之酒厂
2019/10/14 职场文书
python中取整数的几种方法
2021/11/07 Python
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript
httpclient调用远程接口的方法
2022/08/14 Java/Android