Java知识总结-File类

来源:互联网 发布:站长吧源码论坛 编辑:程序博客网 时间:2024/05/21 14:08


说明:File类方法较多,需要多联系加以熟悉


File类:将文件或目录封装成对象,并进行操作。

一,File类对象的创建格式:

import java.io.*;public class Test {public static void main(String[] args) throws IOException{//File(String pathname) File f1=new File("d:\\a\\s\\d");File f2=new File("d:\\22\\111.txt");//File(String parent, String child) File f3=new File("D:\\123","222.txt");//File(File parent, String childFile f4=new File(f1,"333.txt");System.out.println("f1:"+f1);System.out.println("f2:"+f2);System.out.println("f3:"+f3);System.out.println("f4:"+f4);}}

运行结果:

f1:d:\a\s\df2:d:\22\111.txtf3:D:\123\222.txtf4:d:\a\s\d\333.txt

二,File类常见方法:

创建:

----createNewFIle():

根据指定名称创建文件,若文件已存在则不创建且返回false,若创建成功则返回true。

----mkdir():

创建文件夹,只能创建一级文件夹。

----mkdirs():

创建文件夹,可以创建多级文件夹。

import java.io.*;public class Test {public static void main(String[] args) throws IOException{File f1=new File("123.txt");File f2=new File("D:\\abc");File f3=new File("D:\\aa\\bb\\cc\\dd");//创建文件System.out.println(f1.createNewFile());//创建一级文件夹System.out.println(f2.mkdir());//创建多级文件夹System.out.println(f3.mkdirs());}}

运行结果:

truetruetrue


删除:

----delete():

删除文件或目录:若成功删除返回true,若文件和目录不存在或删除失败则返回false。

import java.io.*;public class Test {public static void main(String[] args) throws IOException{File f1=new File("123.txt");File f2=new File("D:\\abc");File f3=new File("D:\\aa\\bb\\cc\\dd");//创建文件f1.createNewFile();//创建一级文件夹f2.mkdir();//创建多级文件夹f3.mkdirs();//删除文件System.out.println(f1.delete());//删除文件夹System.out.println(f2.delete());System.out.println(f3.delete());}}

运行结果:

truetruetrue


判断:

----exists():

判断文件或目录是否存在,存在则返回true。

----isFile():

判断FIle对象是否为文件。

----isDirectory();

判断是否为目录。

----isHidden():

判断是否为隐藏文件。

----isAbsolute():

 判断是否是绝对路径。

import java.io.*;public class Test {public static void main(String[] args) throws IOException{File f=new File("d:\\123.txt");f.createNewFile();//文件或目录是否存在System.out.println(f.exists());//对象是否为文件System.out.println(f.isFile());//对象是否为文件夹System.out.println(f.isDirectory());//对象是否为隐藏文件System.out.println(f.isHidden());//对象是否为觉得路径System.out.println(f.isAbsolute());}}

获取:

----getName();

获取文件名或目录的最后一级文件夹名。如果文件为空,返回空字符串。

----getPath();

获取创建File对象时闯入构造函数的目录和文件的字符串形式。

----getAbsolutePath();

获取绝对路径名称.

----getParent()

获取父目录,如果创建这个File对象时没有指定父目录则返回null。

import java.io.*;public class Test {public static void main(String[] args) throws IOException{File f=new File("abc\\123.txt");//获取文件名或文件夹的最后一级System.out.println("getName()"+f.getName());//获取创建对象时路径名称System.out.println("getPath"+f.getPath());//获取觉得路径System.out.println("getAbsolutePath"+f.getAbsolutePath());//获取父目录System.out.println("getParent"+f.getParent());}}

运行结果:

123.txtabc\123.txtC:\Users\huaer\workspace\javaenhance\abc\123.txtabc


----length();

获取文件大小

----listRoots();

 返回个硬盘分区名

----list():

 获取该文件夹下文件名和文件夹名,以字符串数组形式返回。

注意:调用该方法时,FIle对象必须封装一个目录,且该目录要存在,如果封装的是文件则返回一个空数组。

import java.io.*;public class Test {public static void main(String[] args) throws IOException{File f=new File("c:\\");//获取该文件下的所有文件名和文件夹名String[] str=f.list();for(String s:str){System.out.println(s);}}}

----listFiles();

获取指定文件夹下的文件名和文件夹名,以File数组形式返回。

三,File应用:文件过滤

示例:过滤指定文件夹所有.java文件

import java.io.*;public class Test {public static void main(String[] args) throws IOException{File f=new File("D:\\360\\123\\321");String[] str=f.list(new FilenameFilter(){public boolean accept(File dir,String name){return name.endsWith(".java");}});for(String s:str){System.out.println(s);}}}

运行结果:

ArrayDemo.javaCar.javaCarTest.javaCollectionDemo.javaCollectionsDemo.javaDemo1.javaFanXing.javaHashSetDemo.javaIODemo.javaListDemo.javaListTest.javaLock.javaMapDemo.javaMapTest.javaStrBuffer.java

四,File应用:遍历目录

示例:遍历指定目录下文件和文件夹,包括所有子目录中的内容。

import java.io.*;public class Test {public static void main(String[] args) throws IOException{File f=new File("D:\\360\\123");show(f);}public static void show(File dir){//打印目录名System.out.println(dir);File[] files=dir.listFiles();for(File f:files){//如果是目录,就进行遍历if(f.isDirectory())//递归调用show(f);else//打印文件名System.out.println("\t"+f);}}}



五,File应用:删除文件夹

java删除文件夹时,文件夹需要为空。

import java.io.*;public class Test {public static void main(String[] args) throws IOException{File f=new File("D:\\360\\123\\333");deleteDemo(f);}public static void deleteDemo(File dir){File[] files=dir.listFiles();for(File f:files){//如果是目录,就进行遍历if(f.isDirectory())//递归调用deleteDemo(f);else//删除文件System.out.println(f.delete());}//删除文件夹中文件后删除文件夹System.out.println(dir.delete());}}


0 0
原创粉丝点击