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使用scrapy解析js示例
Jan 23 Python
python基础教程之lambda表达式使用方法
Feb 12 Python
将图片文件嵌入到wxpython代码中的实现方法
Aug 11 Python
Python contextlib模块使用示例
Feb 18 Python
浅析Python基础-流程控制
Mar 18 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
使用anaconda的pip安装第三方python包的操作步骤
Jun 11 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
pygame实现非图片按钮效果
Oct 29 Python
浅析Django中关于session的使用
Dec 30 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
Mar 06 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
Apr 02 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读取RSS(Feed)简单实例
2014/06/12 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
2015/06/24 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
python单线程实现多个定时器示例
2014/03/30 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
安装完Python包然后找不到模块的解决步骤
2020/02/13 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
接口的多继承会带来哪些问题
2015/08/17 面试题
发展部经理职责规定
2014/02/22 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
普通党员对照检查材料
2014/09/24 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
2014年实习期工作总结
2014/11/27 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL
Nginx利用Logrotate实现日志分割
2022/05/20 Servers