File类
来源:互联网 发布:怎么用淘宝买三国币 编辑:程序博客网 时间:2024/05/03 22:07
我们要想实现IO操作,就必须知道硬盘上文件的表现形式 ,即Java的File类 File:文件和目录路径名的抽象表示形式 1.构造方法File(String pathname):根据一个路径得到File对象;File(String parent,String child):根据一个目录和一个子文件/子目录得到File对象;File(File parent,String child):根据一个父File对象和一个子文件/子目录得到File对象;2.创建功能boolean createNewFile() 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。boolean mkdir() 创建此抽象路径名指定的目录。 boolean mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。 注意点:没有目录,就无法在该目录下创建文件,基本是先mkdir,再createNewFile; 没有父目录 ,无法创建子目录,如D盘下如果不存在Test文件 夹,则无法mkdir D:\\Test\\Demo;(单级目录) 创建多级目录用mkdirs; 创建文件时:先用mkdir和mkdirs创建目录,再用createNewFile创建文件3.删除功能boolean delete() 删除此抽象路径名表示的文件或目录。 注意点:Java中的删除不走回收站; 要删除一个文件夹,文件夹内不能包含文件或文件夹4.重命名功能boolean renameTo(File dest)路径名相同就是改名;路径名不同就是改名并剪切 5.判断功能boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。boolean isHidden() 测试此抽象路径名指定的文件是否是一个隐藏文件。boolean exists() 测试此抽象路径名表示的文件或目录是否存在。 boolean canRead() 测试应用程序是否可以读取此抽象路径名表示的文件。boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。 6.获取功能A.基本获取功能String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。 String getPath() 将此抽象路径名转换为一个路径名字符串。 String getName() 返回由此抽象路径名表示的文件或目录的名称。long length() 返回由此抽象路径名表示的文件的长度。long lastModified() 返回此抽象路径名表示的文件最后一次被修改的时间。 B.高级获取功能String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。7.案例:输出指定目录下指定后缀的所有文件名,如输出D盘目录下所有的txt文件思路:A.封装D盘目录(变成File对象)B.获取该目录下的所有文件、文件夹File数组C.遍历File数组,得到每一个File对象,然后判断D.是否是文件 是: 继续判断:是否以".txt"结尾 是:输出文件名 否:不作处理 否:不作处理 8.文件名称过滤器(用到接口的概念,暂时没学到,后续补充)
package knowledge_basic_02;import java.io.File;import java.io.IOException;public class FileDemo { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub //构造方法1 File file1=new File("D:\\DEMO\\A.TXT"); //构造方法2 File file2=new File("D:\\DEMO","B.TXT"); //构造方法3 File file3=new File("D:\\DEMO"); File file4=new File(file3,"C.TXT"); //创建功能 //mkdir:如果之前没有此文件夹,则新建返回true;已有,返回false System.out.println("mkdir:"+file3.mkdir());//如果之前没有此文件夹,则新建返回true //createNewFile:如果之前没有此文件,则新建返回true;已有,返回false //此处产生一个编译时异常IOException,需要try...catch,这里直接throws到main方法了 System.out.println("createNewFile:"+file1.createNewFile()); //没有目录,无法在该目录下创建文件:系统找不到指定的路径。 //File f=new File("D:\\TEST\\A.TXT"); // f.createNewFile(); //mkdirs:创建多级目录 File f=new File("D:\\AA\\BB\\CC\\DD"); File f2=new File(f,"A.TXT"); System.out.println("mkdirs:"+f.mkdirs()); System.out.println("createNewFile:"+f2.createNewFile()); //删除功能 System.out.println("delete:"+file1.delete()+" "+file3.delete()); System.out.println("delete:"+f2.delete()); //需求:删除D:\\AA\\BB\\CC\\DD System.out.println(f.delete()); File f3=new File("D:\\AA\\BB\\CC"); System.out.println(f3.delete()); File f4=new File("D:\\AA\\BB"); System.out.println(f4.delete()); File f5=new File("D:\\AA"); System.out.println(f5.delete()); //重命名功能 System.out.println(file3.mkdir()); System.out.println(file2.createNewFile()); System.out.println(file2.renameTo(file4)); //案例:输出D盘目录下,所有的txt文件名 File ff=new File("D:\\"); File[] fileArray=ff.listFiles(); for(File file:fileArray) { if(file.isFile()) if(file.getName().endsWith(".txt")) System.out.println(file.getName()); } }}
mkdir:false
createNewFile:true
mkdirs:true
createNewFile:true
delete:true false
delete:true
true
true
true
true
false
false
false
myfile.txt
韩寒.txt
杯中窥人.txt
0 0
- 【File】File类基础
- File类 ;File.Create(),File.Delete(), File.Copy(), File.Replace()
- File 类
- File 类
- File 类
- File 类
- File类
- File 类
- FILE 类
- File类
- FILE类
- File类
- File类
- File类
- File类
- File类
- File类
- File类
- Android基础知识--3.在Activity之间传递参数
- Mamba Out
- OJ2002
- 关于composer一些学习和理解
- 黑客如何攻破一个网站获得信息
- File类
- 关于oracle中的锁冲突
- UVA 1614 Hell On The Market(贪心&&结论)
- Python 学习第四天
- Angular2学习笔记2
- 解决乱码问题的三种方式
- 23
- TCP可靠传输详解
- 简单认识C++