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 07 Python
python安装教程 Pycharm安装详细教程
May 02 Python
python 获取字符串MD5值方法
May 29 Python
python 使用正则表达式按照多个空格分割字符的实例
Dec 20 Python
Django实现发送邮件功能
Jul 18 Python
Django 创建新App及其常用命令的实现方法
Aug 04 Python
Python及Pycharm安装方法图文教程
Aug 05 Python
Python Django 简单分页的实现代码解析
Aug 21 Python
超实用的 30 段 Python 案例
Oct 10 Python
在Django下创建项目以及设置settings.py教程
Dec 03 Python
Python模块常用四种安装方式
Oct 20 Python
Django实现简单的分页功能
Feb 22 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实现过滤表单提交中html标签的方法
2014/10/17 PHP
WordPress中is_singular()函数简介
2015/02/05 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
[01:17]炒鸡美酒第四天TA暴走
2018/06/05 DOTA
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
python数据结构之链表详解
2017/09/12 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
使用Python的turtle模块画国旗
2019/09/24 Python
python 实现dict转json并保存文件
2019/12/05 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
函授毕业生的自我鉴定
2013/11/26 职场文书
应届生的求职推荐信范文
2013/11/30 职场文书
酒店总经理欢迎词
2014/01/08 职场文书
幼儿园家长评语
2014/02/10 职场文书
水电工岗位职责
2014/02/12 职场文书
嘉宾邀请函
2015/01/31 职场文书
信访工作个人总结
2015/03/03 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
Vue实现导入Excel功能步骤详解
2021/07/03 Vue.js