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(); ...
随机推荐
- LINQ学习系列-----2.1 一个Linq语句
Linq语句介绍 先上源码: 上述代码涵盖了Linq新特性: 代码解析: 针对本文中的几点特性,前面有文章进行阐述.
- java自动生成entity文件
网上关于自动生成entity文件的代码很多,看了很多代码后,在先辈们的基础上再完善一些功能(指定多个表,全部表). 为了使用方便所以把两个类写在一个java文件中,所以大家可以直接拿这个java文件, ...
- 巧-微信公众号-操作返回键问题-angularjs开发 SPA
在解决这个问题之前,一直处在很苦逼的状态,因为 现在绝大多数 前端模块都是 SPA 模式:所以由此而来出了许多的问题,当然我现在提的这个只是其中一个: 说一下解决方案: 1.技术栈 angularjs ...
- 51Nod 2006 飞行员配对(二分图最大匹配)
链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=2006 思路: 二分匹配 注意n m的关系 代码: #include ...
- NYOJ 2357: 插塔憋憋乐 贪心
2357: 插塔憋憋乐 时间限制: 1 Sec 内存限制: 128 MB 提交: 82 解决: 18 [提交][状态][讨论版] 题目描述 众所不知,LLM是一位红警3大佬,打的非常厉害,但是曾经 ...
- ThinkPHP 5 中AJAX跨域请求头设置方法
最近用thinkphp做项目,在测试环境时,存在接口的测试问题.在tp官网也没能找到相关的解决方法.自已看了一下源码,有如下的解决方案. 在项目目录下面,创建common/behavior/CronR ...
- onblur
HTML onblur 事件属性 HTML 事件属性 实例 当用户离开输入字段时对其进行验证: <input type="text" name="fname&quo ...
- 进程互斥(锁)------------------>一个坑
进程互斥锁 引入: 进程之间数据不共享,但是共享同一套文件系统(如硬盘.键盘.cpu等),所以访问同一个文件,或同一个打印终端,是没有问题的,竞争带来的结果就是错乱,如何控制,就是加锁处理,即进程加锁 ...
- Python的Web应用框架--Django
一:简介 python的web框架有很多,个人查了一下,有Django.Pylons. Tornado.Bottle和Flask等,其中使用人数最多的是Django,而我学习Django也是因为ope ...
- SQLMap简单尝试
第一次完成了一个注入呢,虽然是恬不知耻的用sqlmap跑出来的 简单介绍注入时后台的数据等级,有助于后面的理解 ①可以类比成一个装着excel文件的文件夹,每一个excel文件就相当于一个数据库 ②库 ...