Java I/O---获取文件目录并写入到文本
首先获取指定目录下的所有文件目录,存入List集合中,然后创建文本文件将List遍历写入文本中保存。
1.主程序类
public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //获取IO目录下的所有java文件 File dir = new File("H:\\workspace\\IO"); List<File> list = fileList(dir,".java");//路径列表,传入过滤器 //获取路径下的符合条件的文件后,写入一个txt中 File destFile = new File("H:\\workspace\\Testfile\\javaList.txt");
write2File(list,destFile); }
2.过滤文件的方法,传入指定 路径参数 和文件 后缀参数, 返回文件List集合
/** * 定义获取指定过滤器条件的集合 * @param dir 路径 * @param string 后缀.java * @return */ public static List<File> fileList(File dir, String suffix){ //1.定义集合 List<File> list = new ArrayList<File>(); //2.过滤器 FileFilter filter = new FileFilterBySuffix(suffix); getFileList(dir, list, filter); return list; }
3.过滤器方法和过滤器类
/** * 定义一个获取指定过滤器条件的集合 * 多级目录下,传递list * @param dir 路径 * @param list 文件集合 * @param filter 过滤器 */ public static void getFileList(File dir, List<File> list, FileFilter filter){ File[] files = dir.listFiles(); for(File file : files){ if(file.isDirectory()){ getFileList(file, list, filter);//递归 }else{ //过滤文件 if(filter.accept(file)){ list.add(file);//添加 } } } } }
public class FileFilterBySuffix implements FileFilter { private String suffix; public FileFilterBySuffix(String suffix) { super(); this.suffix = suffix; } @Override public boolean accept(File pathname) { // TODO Auto-generated method stub return pathname.getName().endsWith(suffix); } }
4.写入list到文件方法
/** * 将list写入txt中 * @param list 文件列表 * @param destFile 存储对象java文件列表 */ private static void write2File(List<File> list, File destFile) { // TODO Auto-generated method stub BufferedWriter bufw = null; try { //使用字符缓冲区对象BufferedWriter bufw = new BufferedWriter(new FileWriter(destFile)); //遍历list,写入绝对路径 for(File file : list){ bufw.write(file.getAbsolutePath());//写入绝对路径 bufw.newLine();//换行 bufw.flush(); //刷新纪录 } } catch (Exception e) { // TODO: handle exception } finally{ if(bufw != null){ try { bufw.close(); } catch (IOException e) { // TODO Auto-generated catch block throw new RuntimeException(); } } } }
Java I/O---获取文件目录并写入到文本的更多相关文章
- java调用shell获取返回值
转自:http://blog.csdn.net/tengdazhang770960436/article/details/12014839 1.shell文件return.sh echo 1 echo ...
- (部署新java程序,程序报错,需copy的一个包)——java使用siger 获取服务器硬件信息
mcat-siger.sh 查看是否安装siger rsync -aPuv /usr/lib64/libsigar-amd64-linux.so $i:/usr/lib64/ java使用siger ...
- java中将list、map对象写入文件
链接地址:http://blog.sina.com.cn/s/blog_4a4f9fb50101p6jv.html 推荐:凤爪女瓜子男怪象该谁反思伦敦房价为什么持续暴涨 × wvqusrtg个 ...
- 在 Java 8 中获取日期
前言 前面一篇文章写了<SimpleDateFormat 如何安全的使用?>, 里面介绍了 SimpleDateFormat 如何处理日期/时间,以及如何保证线程安全,及其介绍了在 Jav ...
- JAVA处理Excel表格数据并写入数据库
package com.hncj.test; import java.io.FileInputStream; import java.sql.Connection; import java.sql.D ...
- 【转】Java Web 项目获取运行时路径 classpath
Java Web 项目获取运行时路径 classpath 假设资源文件放在maven工程的 src/main/resources 资源文件夹下,源码文件放在 src/main/java/下, 那么ja ...
- Java 网络爬虫获取网页源代码原理及实现
Java 网络爬虫获取网页源代码原理及实现 1.网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL ...
- Java通过httpclient获取cookie模拟登录
package Step1; import org.apache.commons.httpclient.Cookie; import org.apache.commons.httpclient.Htt ...
- java中如何获取昨天的当前日期
在java里,获取昨天的当前日期,可以采用calendar来做,也可以采用date来做:如下: 1.采用calendar来做: Calendar cal=Calendar.getInstance(); ...
随机推荐
- IT连创业系列:App产品上线后,运营怎么搞?(上)
又是一阵一阵的时光过去了,今夜,码的不是代码,是文字,继续和大伙分享创业的这一路历程. 话说,在突破技术的领域,IT连和IT恋上线后,慢慢走上运营这条路时,发现自己经常容易迷失. 毕竟,做为一名技术型 ...
- ASP.NET异常处理机制
try{ //获取并使用资源,可能出现异常}catch(DivideByZeroException de){}catch(ArithmeticException ae){}catch(Exceptio ...
- centos7下部署Django(nginx+uwsgi+python3+django)
系统版本 centos7 python版本 使用官方python3.6.3正式版 django版本 使用本文发布时最新的1.11.7 uwsgi版本 使用本文发布时最新的2.0.15 nginx版本 ...
- 【OCR技术系列之一】字符识别技术总览
最近入坑研究OCR,看了比较多关于OCR的资料,对OCR的前世今生也有了一个比较清晰的了解.所以想写一篇关于OCR技术的综述,对OCR相关的知识点都好好总结一遍,以加深个人理解. 什么是OCR? OC ...
- Less注释语法
Less注释语法 适当的注释是保证代码可读性的必要手段,Less支持两种类型的注释:多行注释和单行注释. 1)形如 /* */ 的多行注释.如: /* Hello, I'm a CSS-style c ...
- CentOS7 64位 安装MySQL5.7
安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo ...
- 基于Emgu CV+百度人脸识别,实现视频动态 人脸抓取与识别
背景 目前AI 处于风口浪尖,作为 公司的CTO,也作为自己的技术专研,开始了AI之旅,在朋友圈中也咨询 一些大牛对于AI 机器学习框架的看法,目前自己的研究方向主要开源的 AI 库,如:Emgu C ...
- esp8266 SDK开发之编译流程
最近刚完成自己8266的小项目,已经发布在github上,有兴趣的朋友可以看一下 github地址:esp-ujn 1. 通过MQTT协议与服务器交互 2. 内置HTTP服务器,支持通过浏览器进行参数 ...
- Mysql 的 IF 判断
mysql自带很多判断逻辑,今天说一说IF的判断语句,正好今天做项目的时候也用到了 1. IF 判断 IF判断和我们代码里面写的有略微的差别,举个例子 IF('表达式','结果1','结果2') 如 ...
- JMeter接口测试系列-关联参数
这里主要记录一下A接口的返回结果经过md5加密之后作为另外B接口的参数,这个问题困扰了很久,找了不少资料,现在把解决方法记录如下: 环境 ①JMeter 3.0 ②前置条件:将fastjson.jar ...