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 fabric实现远程操作和部署示例
Mar 25 Python
python实现文件分组复制到不同目录的例子
Jun 04 Python
Python搭建HTTP服务器和FTP服务器
Mar 09 Python
简单谈谈python中的lambda表达式
Jan 19 Python
python让列表倒序输出的实例
Jun 25 Python
python实现俄罗斯方块
Jun 26 Python
Pandas DataFrame 取一行数据会得到Series的方法
Nov 10 Python
python实现简单的文字识别
Nov 27 Python
Python Image模块基本图像处理操作小结
Apr 13 Python
Python Handler处理器和自定义Opener原理详解
Mar 05 Python
python自动下载图片的方法示例
Mar 25 Python
Python计算矩阵的和积的实例详解
Sep 10 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
Protoss魔法科技
2020/03/14 星际争霸
使用PHP Socket写的POP3类
2013/10/30 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
Javascript技巧之不要用for in语句对数组进行遍历
2010/10/20 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
JavaScript之解构赋值的理解
2019/01/30 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
2019/05/17 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
Python实现提取文章摘要的方法
2015/04/21 Python
Django自定义分页效果
2017/06/27 Python
谈谈python中GUI的选择
2018/03/01 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
Python线程池模块ThreadPoolExecutor用法分析
2018/12/28 Python
python调用webservice接口的实现
2019/07/12 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
RIP版本1跟版本2的区别
2013/12/30 面试题
公司人力资源的自我评价
2014/01/02 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
深入浅析Django MTV模式
2021/09/04 Python
工厂无线对讲系统解决方案
2022/02/18 无线电