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 随机数生成的代码的详细分析
May 15 Python
Python中使用装饰器和元编程实现结构体类实例
Jan 28 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
Apr 25 Python
python3抓取中文网页的方法
Jul 28 Python
Python操作Redis之设置key的过期时间实例代码
Jan 25 Python
python使用rpc框架gRPC的方法
Aug 24 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
Python Pandas 如何shuffle(打乱)数据
Jul 30 Python
Python统计文本词汇出现次数的实例代码
Feb 27 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
Mar 24 Python
Anaconda和ipython环境适配的实现
Apr 22 Python
Python __slots__的使用方法
Nov 15 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一些错误处理的方法与技巧总结
2013/08/10 PHP
PHP实现多图片上传类实例
2014/07/26 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
不错的新闻标题颜色效果
2006/12/10 Javascript
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
Eclipse去除js(JavaScript)验证错误
2014/02/11 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
JavaScript事件委托用法分析
2015/01/24 Javascript
JQuery球队选择实例
2015/05/18 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
简单实现js页面切换功能
2021/01/10 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
Nodejs+Socket.io实现通讯实例代码
2017/02/13 NodeJs
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
对python条件表达式的四种实现方法小结
2019/01/30 Python
python实现将视频按帧读取到自定义目录
2019/12/10 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
中药专业大学生医药工作求职信
2013/10/25 职场文书
大学学年自我鉴定
2013/10/28 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
设计顾问服务计划书
2014/05/04 职场文书
司法所长先进事迹
2014/06/02 职场文书
支行行长竞聘报告
2014/11/06 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
python 如何用terminal输入参数
2021/05/25 Python
Python绘制散乱的点构成的图的方法
2022/04/21 Python
Django框架模板用法详解
2022/06/10 Python
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库