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
原创粉丝点击