——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
File介绍
引用毕老师视频里关于File类的介绍
将文件或文件夹封装成对象的类,方便对文件文件夹的属性进行操作。File类的出现拟补流对象的不足。流只能操作数据,而想要操作文件或文件夹只能用File类。
创建一个File对象
File f1 = new File("a.txt");
将a.txt文件封装成对象,文件可以是已经存在或未创建的,可以是相对路径或绝对路径。
File f2 = new File("C:\\ABC","B.txt");
//public File(String parent, String child)
用parent表示路径,child表示文件或目录
系统分隔符:File类的一个静态成员,separatorChar,表示系统默认名称分隔符,在UNIX系统上,此字段的值为 ‘/’;在 Microsoft Windows 系统上,它为 ‘\’
创建文件
boolean createNewFile();
在指定位置创建文件,如果指定的文件不存在,则创建并返回true,否则返回false
File f1 = new File("a.txt");
f1.createNewFile()
创建文件夹
boolean mkdir() ;
在指定的位置创建文件夹
File f1 = new File("abc");
f1.mkdir();
boolean mkdirs();
创建多级目录
File f1 = new File("abc\\efg");
f1.mkdirs();
删除文件或目录
public boolean delete();
删除文件或目录,如果删除的是一个目录,目录必须为空才能删除。如果删除成功返回true,反则返回false
File f1 = new File("a.txt");
f1.delete();
public void deleteOnExit();
在程序退出时删除指定文件或目录
判断文件
public boolean canExecute();
判断一个文件时候能执行,如果能执行返回true,否则为false,对一个文件或目录是否文件或者目录时,必须要先判断该文件是否存在。
File f1 = new File("a.txt");
System.out.println(dir.canExecute());
public boolean exists();
判断一个文件或目录是否存在,当表示的文件或目录存在时,返回 true;否则返回 false
boolean isFile();
File f = nwe File("file.txt");
System.out.println("file:"+f.isFile());
boolean isDirectory();
File f = nwe File("file.txt");
System.out.println("dir:"+f.isDirectory());
boolean isHidden();
测试此抽象路径名指定的文件是否是一个隐藏文件,如果是返回true
获取File对象信息
String getName();
返回文件或目录名
String getPath();
返回文件对象所封装的路径名字字符串
String getAbsolutePath();
返回文件的绝对路径
File dir = new File("I:\\Demo\\Test\\src\\com\\IO\\javalist.txt");
System.out.println(dir.getPath());
System.out.println(dir.getAbsolutePath());
输出:
I:\Demo\Test\src\com\IO\javalist.txt
I:\Demo\Test\src\com\IO\javalist.txt
文件列表
static File listRoots();
获取机器上所有根目录
File[] files = FileRoots();
for(File f:files)
{
System.out.println(f);
}
public String[] list();
返回字符串数组,内容是文件对象指定目录下所有文件和文件夹的名称。如果文件对象封装的是文件,则返回null,该目录还必须存在。
File file = new File("c:\\");
String[]names = f.list();
for(File name: names)
{
System.out.println(name);
}
public String[] list(FilenameFilter fit)
FilenameFiter 是一个接口,实现此接口的类的实例可用过滤文件名,过滤掉不需要的文件。该类只有一个方法,boolean accep(File Dir,String name);通过accep方法返回值来决定要过滤掉的是那些文件。Dir参数就是要过滤文件的目录,name参数是目录下要过滤的文件名称。
File dir = new File("d:\\div39");
String[] arr = dir.list(new FilenameFilter()
{
public boolean accept(File dir,String name)
{
return name.endsWith(".html");
}
});
for(String name:arr)
{
System.out.println(name);
}
遍历目录中所有文件和目录
使用递归,查找出指定目录下所有文件和目录,如果遇到是一个目录,就继续调用本方法,遇到文件就打印出这个文件。
public static void showDir(File dir)
{
File[]files = dir.listFiles();
for(int x =0;x<files.length;x++)
{
if(files[x].isDirectory())
showDir(files[x]);
System.out.println(files[x]);
}
}
本文详细介绍了Java中的File类,包括如何使用File类创建、删除文件和目录,判断文件属性,获取文件信息等基本操作。
808

被折叠的 条评论
为什么被折叠?



