java开发之File类详细使用方法介绍
File类简介
在Java中,File类是java.io包中唯一代表磁盘文件本身的对象。File类定义了一些与平台无关的方法来操作文件,File类主要用来获取或处理与磁盘文件相关的信息,像文件名、文件路径、访问权限和修改日期等,还可以浏览子目录层次结构。
File类表示处理文件和文件系统的相关信息。也就是说,File类不具有从文件读取信息和向文件写入信息的功能,它仅描述文件本身的属性。
File类的相关方法
1、构造方法
File(Stringpathname)通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。
File(Stringparent,Stringchild)根据指定的父路径和文件路径创建一个新File对象实例
File(Fileparent,Stringchild)根据指定的父路径对象和文件路径创建一个新的File对象实例
代码实现过程
/* -File的构造函数 -*/ publicstaticvoidmain(String[]args){ //File(Stringpathname)将指定路径名转换成一个File对象 Filefile=newFile("D:\\1.txt"); System.out.println(file); //File(Stringparent,Stringchild)根据指定的父路径和文件路径创建File对象 Filefile1=newFile("D:\\a","1.txt"); System.out.println(file1); //File(Fileparent,Stringchild)根据指定的父路径对象和文件路径创建File对象 Fileparent=newFile("D:\\a"); Filefile2=newFile(parent,"1.txt"); System.out.println(file2); Filefile3=newFile(newFile("D:\\a"),"1.txt"); System.out.println(file3); }
运行结果
2、File类创建和删除功能
booleancreateNewFile();指定路径不存在该文件时创建文件,返回true否则false
booleanmkdir()当指定的单击文件夹不存在时创建文件夹并返回true否则false
booleanmkdirs()但指定的多级文件夹在某一级文件夹不存在时,创建多级文件夹并返回true否则false
booleandelete()删除文件或者删除单级文件夹
删除文件夹,这个文件夹下面不能有其他的文件和文件夹
代码实现过程
publicstaticvoidmain(String[]args)throwsIOException{ Filefile=newFile("D:\\a\\1.txt"); Filefile1=newFile("1.txt"); booleanflag=file1.createNewFile(); System.out.println(flag); Filefile2=newFile("b"); booleanflag2=file2.mkdir(); System.out.println(flag); Filefile3=newFile("c\\d\\e"); booleand=file1.mkdir(); booleanc=file1.mkdirs(); System.out.println(d); System.out.println(c); Filefile4=newFile("c.txt"); System.out.println(file4.mkdir()); Filefile5=newFile("b"); System.out.println(file2.delete()); }
运行结果
3、File类的判断功能
booleanexists()判断指定路径的文件或文件夹是否为空
booleanisAbsolute()判断当前路径是否是绝对路径
booleanisDirectory()判断当前的目录是否存在
booleanisFile()判断当前的目录是否是一个文件
booleanisHidden()判断当前路径是否是一隐藏文件
代码实现过程
publicstaticvoidmain(String[]args)throwsIOException{ //method(); //method2(); //method3(); //method4(); } //判断文件是否存在 publicstaticvoidmethod()throwsIOException{ Filefile=newFile("a.txt"); file.createNewFile(); booleanflag=file.exists(); System.out.println(flag); } //判断当前路径是否为绝对路径 publicstaticvoidmethod2()throwsIOException{ Filefile=newFile("D:\\a\\1.txt"); booleanflag=file.isAbsolute(); System.out.println(flag); } //判断当前是文件夹还是文件 publicstaticvoidmethod3()throwsIOException{ Filefile=newFile("1.txt"); Filefile1=newFile("b"); file1.mkdir(); booleanflag=file.isDirectory(); booleanflag2=file1.isFile(); System.out.println(flag); System.out.println(flag2); } //判断当前路径是否为隐藏文件 publicstaticvoidmethod4()throwsIOException{ Filefile=newFile("D:\\a\\1.txt"); System.out.println(file.isHidden()); }
运行结果
method()
method2()
method3()
method4()
4、File类的获取功能和修改名字功能
FilegetAbsoluteFile()获取文件的绝对路径,返回File对象
StringgetAbsolutePath()获取文件的绝对路径,返回路径的字符串
StringgetParent()获取当前路径的父级路径,以字符串形式返回该父级路径
StringgetName()获取文件或文件夹的名称
StringgetPath()获取File对象中封装的路径
longlastModified()以毫秒值返回最后修改时间
longlength()返回文件的字节数
booleanrenameTo(Filedest)将当前File对象所指向的路径修改为指定File所指向的路径
代码实现过程:
publicstaticvoidmain(String[]args)throwsIOException{ //method(); //method2(); //method3(); //method4(); } publicstaticvoidmethod(){ Filefile=newFile("D:\\a\\1.txt"); Filefile1=newFile("1.txt"); //以File对象返回的形式返回当前File对象所指向的绝对路径 System.out.println(file1.getAbsoluteFile()); //返回File对象所指向的绝对路径 System.out.println(file1.getAbsolutePath()); } publicstaticvoidmethod2()throwsIOException{ Filefile=newFile("a.txt"); Filefile1=newFile("b","c.txt"); System.out.println(file1.createNewFile()); Fileparent=newFile("b"); Filefile2=newFile(parent,"c.txt"); if(!parent.exists()){ parent.mkdirs(); } System.out.println(file2.createNewFile()); System.out.println(file2.getParent()); System.out.println(file2.getParentFile()); } publicstaticvoidmethod3()throwsIOException{ Filefile=newFile("1.txt"); Filefile1=newFile("D:\\a\\1.txt"); Filefile2=newFile("b"); System.out.println(file.getName()); System.out.println(file1.getName()); System.out.println(file2.getName()); System.out.println(file.getPath()); System.out.println(file1.getPath()); System.out.println(file2.getPath()); System.out.println(file.lastModified()); Datedate=newDate(1556085068524L); System.out.println(date.toLocaleString()); System.out.println(file.length()); System.out.println(file2.length()); } publicstaticvoidmethod4()throwsIOException{ Filefile=newFile("a.txt"); Filefile1=newFile("e.txt"); System.out.println(file.renameTo(file1)); }
运行结果
method()
method2()
method3()
method4()
5、File类的其他获取功能
String[]list();以字符串的形式返回当前路径下所有的文件和文件夹的名称
File[]listFile以File对象的形式返回当前路径下的所有文件和文件夹名称
StaticFile[]listRoots()获取计算机中的所有盘符
代码实现过程
publicstaticvoidmain(String[]args){ //method(); //method2(); //method3(); } publicstaticvoidmethod(){ Filefile=newFile("b"); Filefile1=newFile("D:\\QQ\\1916247350"); Filefile2=newFile("e.txt"); String[]files=file1.list(); for(inti=0;i运行结果
method()
method2()
method(3)
练习
1、输出指定目录下的所有java文件
publicstaticvoidmain(String[]args){ Filefile=newFile("D:\\IDEA\\IDEAprogram"); method(file); } publicstaticvoidmethod(Filefile){ //判断文件是够是目录文件 if(file.isDirectory()){ File[]files=file.listFiles(); for(Filefile1:files){ //判断是否为文件 if(file1.isFile()){ //判断文件是否是以.java结尾的文件 if(file1.getName().endsWith(".java")){ System.out.println(file1.getName()); } }elseif(file1.isDirectory()){ //回调,遍历file1 method(file1); } } } }运行结果
2、删除指定的目录(包括子目录)
publicstaticvoidmain(String[]args){ Filefile=newFile("D:\\a"); method(file); } //删除指定目录下的文件 publicstaticvoidmethod(Filefile){ //删除自己所有的子文件和子目录 //获取子文件和子目录 if(file.isDirectory()){ File[]files=file.listFiles(); for(Filefile1:files){ if(file1.isFile()){ System.out.println(file1.getName()); //干掉它 file1.delete(); }elseif(file1.isDirectory()){ //继续查看 method(file1); } } //干掉自己 System.out.println(file.getName()); file.delete(); } }代码运行结果
本文介绍了java开发过程中File类的详细使用方法,更多关于File类使用方法请查看下面的相关链接
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。