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 相关文章推荐
python遍历文件夹并删除特定格式文件的示例
Mar 05 Python
python统计一个文本中重复行数的方法
Nov 19 Python
在Python的Django框架中创建语言文件
Jul 27 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
May 25 Python
python中numpy基础学习及进行数组和矢量计算
Feb 12 Python
Python中str.join()简单用法示例
Mar 20 Python
python自动生成model文件过程详解
Nov 02 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
python构建指数平滑预测模型示例
Nov 21 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
Feb 09 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 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
PHP函数常用用法小结
2010/02/08 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
AngularJS extend用法详解及实例代码
2016/11/15 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
微信JSAPI支付操作需要注意的细节
2017/01/10 Javascript
用原生js做单页应用
2017/01/17 Javascript
js匿名函数使用&amp;传参(实例)
2017/09/08 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
跟老齐学Python之类的细节
2014/10/13 Python
Python脚本实现代码行数统计代码分享
2015/03/10 Python
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
如何删除一个表里面的重复行
2013/07/13 面试题
销售演讲稿范文
2014/01/08 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis
SpringBoot实现异步事件驱动的方法
2021/06/28 Java/Android
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL
Nginx速查手册及常见问题
2022/04/07 Servers
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android