博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
File类
阅读量:5308 次
发布时间:2019-06-14

本文共 2822 字,大约阅读时间需要 9 分钟。

IO流只能用来操作数据,不能对文件或文件夹进行操作,这时要用File类。

File类:

1.用来将文件或者文件夹封装成对象

2.方便对文件与文件夹的属性进行操作

3.File对象可以作为参数传递给流的构造函数

 

可以将一个已存在或者不存在的文件封装成目录。

File file1=new File("c:\\a.txt");

File file2=new File("c:\\","a.txt");

File f=new File("c:\\");

File file3=new File(f,"a.txt");

 

 

1 /* 2  *  3  * 获取指定目录下,指定扩展名的文件(包含子目录中的) 4  * 这些文件的绝对路径写入到一个文本文件中。 5  *  6  * 简单说,就是建立一个指定扩展名的文件的列表。  7  *  8  * 思路: 9  * 1,必须进行深度遍历。10  * 2,要在遍历的过程中进行过滤。将符合条件的内容都存储到容器中。11  * 3,对容器中的内容进行遍历并将绝对路径写入到文件中。 12  * 13  *14  */15 public class Test {16 17     /**18      * @param args19      * @throws IOException 20      */21     public static void main(String[] args) throws IOException {22             23         File dir = new File("e:\\java0331");24         25         FilenameFilter filter = new FilenameFilter(){26             @Override27             public boolean accept(File dir, String name) {28                 29                 return name.endsWith(".java");30             }            31         };32         33         List
list = new ArrayList
();34 35 getFiles(dir,filter,list);36 37 File destFile = new File(dir,"javalist.txt");38 39 write2File(list,destFile);40 41 }42 /**43 * 对指定目录中的内容进行深度遍历,并按照指定过滤器,进行过滤,44 * 将过滤后的内容存储到指定容器List中。45 * @param dir46 * @param filter47 * @param list48 */49 public static void getFiles(File dir,FilenameFilter filter,List
list){50 51 File[] files = dir.listFiles();52 53 for(File file : files){54 if(file.isDirectory()){55 //递归啦!56 getFiles(file,filter,list);57 }else{58 //对遍历到的文件进行过滤器的过滤。将符合条件File对象,存储到List集合中。 59 if(filter.accept(dir, file.getName())){60 list.add(file);61 }62 }63 }64 65 }66 67 public static void write2File(List
list,File destFile)throws IOException{68 69 BufferedWriter bufw = null;70 try {71 bufw = new BufferedWriter(new FileWriter(destFile));72 for(File file : list){73 bufw.write(file.getAbsolutePath());74 bufw.newLine();75 bufw.flush();76 }77 78 79 } /*catch(IOException e){80 81 throw new RuntimeException("写入失败");82 }*/finally{83 if(bufw!=null)84 try {85 bufw.close();86 } catch (IOException e) {87 88 throw new RuntimeException("关闭失败");89 }90 }91 }92 93 }

 

转载于:https://www.cnblogs.com/lxboy2009/p/5925491.html

你可能感兴趣的文章
Java中Runnable和Thread的区别
查看>>
SQL Server中利用正则表达式替换字符串
查看>>
POJ 1015 Jury Compromise(双塔dp)
查看>>
论三星输入法的好坏
查看>>
Linux 终端连接工具 XShell v6.0.01 企业便携版
查看>>
JS写一个简单日历
查看>>
LCA的两种求法
查看>>
Python 发 邮件
查看>>
mysql忘记密码的解决办法
查看>>
全面分析Java的垃圾回收机制2
查看>>
[Code Festival 2017 qual A] C: Palindromic Matrix
查看>>
修改博客园css样式
查看>>
Python3 高阶函数
查看>>
初始面向对象
查看>>
docker一键安装
查看>>
leetcode Letter Combinations of a Phone Number
查看>>
Unity 5.4 测试版本新特性---因吹丝停
查看>>
7.5 文件操作
查看>>
DFS-hdu-2821-Pusher
查看>>
MyEclipse中将普通Java项目convert(转化)为Maven项目
查看>>