loading黑马程序员之IOFile(2-4)
来源:互联网 发布:网络2d游戏排行榜2016 编辑:程序博客网 时间:2024/05/22 05:23
-------android培训 、java培训、期待与您交流! ----------
/**
* 流的局限性:只能操作数据,不能操作文件夹【拒绝访问异常】和文件属性* -------------------------------------------------------------------------
* File类的常见方法:
* 1. 增boolean createNewFile()【存在则不再创建】
* 创建文件夹 mkdir(); mkdirs,创建多级目录文件夹
* 删 delete()
* deleteOnExit()【JVM退出时删除(临时文件)】
* 2.判断
* 是否是目录boolean isDirectory()
* 是否是文件 isFile()
* 是否存在 exists()
* 是否是隐藏文件isHidden()
* 是否是绝对路径 isAbsolute()
*
* 2. 获取
* 获取(绝对)路径 getPath() getAbsolutePath【文件可以不存在】
* 绝对路径中的父目录 getParent()
* 最后一次修改时间 long lastModified()
* 长度:length()
* file1.renameTo(file2)剪切,如果file2存在,剪切失败
* 3。修改:用流
*-------------------------------------------------------------------------
* 注意:
*1.判断文件是目录还是文件时,记得先判断该文件是否存在,因为不存在的文件既不是目录,也不是文件
*2.文件名是xx.txt不一定就是文件夹哦,例如:
* File file = new File("1.txt");
System.out.println(file.mkdir());
System.out.println("directory:"+file.isDirectory());-----true
System.out.println("file:"+file.isFile());-----false
当然,前提是file.mkdir()创建成功。
*/
package com.heima.io.file;import java.io.File;import java.util.ArrayList;import java.util.List;/** * * 要求:列出指定文件夹下所有文件【包括子文件夹下的】 * 思想:递归:函数自己调用自己 * 递归使用注意: * 1.限定条件,就是出口(递归相当于是一个循环,限定条件就是循环结束条件) * 2.每次递归都会在方法区开辟一块内存,而且都没有结束,一旦递归次数过多就容易产生内存溢出 */public class ListAllFiles {public static void main(String[] args) {List<File> list = getFiles(new File("hello"));for(File f : list){System.out.println(f.getName());}}/** * 得到指定文件夹下所有文件【包括子文件夹下的文件】 * @param dir * @return */public static List<File> getFiles(File dir){List<File> list = new ArrayList<File>();File[] files = dir.listFiles();for(File f : files){if(f.isDirectory()){//如果是目录,递归for(File subf : getFiles(f)){list.add(subf);}}else{list.add(f);//是文件则添加进list}}return list;}/** * 删除指定文件夹下所有文件和文件夹 * @param dir * @return */public static boolean deleteFiles(File dir){boolean flag = true;if(dir.exists() && dir.isDirectory()){File[] files = dir.listFiles();for(File f : files){if(!f.isHidden()){if(f.isDirectory()){if(!deleteFiles(f)){flag = false;}}else{if(!f.delete()){//删除文件失败flag = false;}}}}if(!dir.delete()){//删除文件夹失败flag = false;}}else{flag = false;}return flag;}/** * 用递归实现十进制转二进制 * @param n * @return */public static String toBin(long n){StringBuffer sb = new StringBuffer();if(n>0){sb.append(toBin(n/2));sb.append(n%2);}return sb.toString();}}
package com.heima.io.file;import java.io.File;import java.io.FilenameFilter;/** * 功能:列出指定目录下所有Java文件 * 对文件名过滤 * */public class FilenameFilterDemo {public static void main(String[] args) {File file = new File("src\\com\\heima\\basic");File[] list = file.listFiles(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {if(name.endsWith("java")){return true;}return false;}});for(File f : list){System.out.println(f.getName());}}}
-------android培训 、java培训、期待与您交流! ----------
0 0
- loading黑马程序员之IOFile(2-4)
- loading黑马程序员之高级编程:反射(4-2)
- loading黑马程序员之高级编程:代理(4-4)
- loading黑马程序员之IO字节流(2-2)
- loading黑马程序员之高级编程:枚举(4-1)
- loading黑马程序员之高级编程:泛型(4-3)
- loading黑马程序员之IO字符流(2-1)
- loading黑马程序员之IO键盘输入(2-3)
- loading黑马程序员之IO一些流操作(2-5)
- loading黑马程序员之密钥加密活动(1-2)
- loading黑马程序员之网络编程:文件传输(3-2)
- loading黑马程序员之银行业务调度系统(5-2)
- ioFile
- loading黑马程序员之网络编程:聊天(3-1)
- loading黑马程序员之交通灯管理系统(5-1)
- loading黑马程序员之Java一些对象介绍(1-1)
- 黑马程序员之反射2
- 黑马程序员----集合之2
- CS193p 2013 Fall Lecture 2 notes
- 驱动第二天
- JAVA八个基本数据类型
- 数据库加密技术总结
- C/C++ 初学简单笔记 —2—
- loading黑马程序员之IOFile(2-4)
- 驱动第三天
- 两个排好序的数组重新排序为一个新数组
- Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
- java.lang.OutOfMemoryError: PermGen space,Intellidea报内存溢出
- 修昔底德陷阱
- Java算法:根据输入的数字计算所有的回文数
- Nslookup命令的用法
- 初学免杀