File类方法整理
File类的对象是文件和目录路径名的抽象表示,但是File类的对象表示的文件和目录路径名不一定存在,可以没有,当没有的时候就可以通过File的方法去创建这个新文件。
本文就对File类中一些常用的方法进行了整理。
构造方法
-
File(File parent, String child)
从父抽象路径名和子路径名字符串创建新的 File实例。
-
File(String pathname)
通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
-
File(String parent, String child)
从父路径名字符串和子路径名字符串创建新的 File实例。
-
File(URI uri)
通过将给定的 file: URI转换为抽象路径名来创建新的 File实例。
方法
1.createNewFile()
-
创建文件。当且仅当此文件的名称不存在时,创建由此抽象路径名命名的新空文件,并返回true,否者返回false。
-
形式:
public boolean createNewFile() throws IOException
-
异常:
IOException - 如果发生I / O错误 。
SecurityException - 如果存在安全管理器且其 SecurityManager.checkWrite(java.lang.String)方法拒绝对文件的写访问权限 。File file = new File("F://文件名.md"); //此时这个 文件名 是不存在的 boolean flag = file.createNewFile(); //创建文件
2.mkdir()
-
创建文件夹。创建此抽象路径名指定的目录。当且仅当目录已创建时,返回true,否者false。
-
形式:
public boolean mkdir()
-
异常:
SecurityException - 如果存在安全管理器且其 SecurityManager.checkWrite(java.lang.String)方法不允许创建指定目录
3.delete()
-
删除此抽象路径名表示的文件或目录。 如果此路径名表示目录,则该目录必须为空才能被删除。 当且仅当文件或目录被成功删除时,返回true; 否则返回false 。
-
形式:
public boolean delete()
#####4.getAbsolutePath()
-
返回此抽象路径名的绝对路径名字符串。
-
形式:
public String getAbsolutePath()
#####5.getAbsoluteFile()
-
返回此抽象路径名的绝对形式。 相当于new File(this.getAbsolutePath()) 。
-
形式:
public File getAbsoluteFile()
6.getName()
-
返回此抽象路径名表示的文件或目录的名称。 这只是路径名称序列中的姓氏。 如果路径名的名称序列为空,则返回空字符串。
-
形式:
public String getName()
7.getParent()
-
返回此抽象路径名父项的路径名字符串,如果此路径名未指定父目录,则返回null 。
-
形式:
public String getParent()
8.getParentFile()
-
返回此抽象路径名父项的抽象路径名,如果此路径名未指定父目录,则返回null 。
-
形式:
public File getParentFile()
#####9.getPath()
-
将此抽象路径名转换为路径名字符串。
-
形式:
public String getPath()
10.length()
-
返回此抽象路径名表示的文件的长度。 如果此路径名表示目录,则返回值未指定。
此抽象路径名表示的文件的长度(以字节为单位),如果该文件不存在, 0L 。 对于表示系统相关实体(如设备或管道)的路径名,某些操作系统可能会返回0L 。
-
形式:
public long length()
11.exists()
-
测试此抽象路径名表示的文件或目录是否存在。
当且仅当此抽象路径名表示的文件或目录存在时返回true; 否则为false
-
形式:
public boolean exists()
12.isFile()
-
测试此抽象路径名表示的文件是否为普通文件。
当且仅当此抽象路径名表示的文件存在并且是普通文件时返回true; 否则为false
-
形式:
public boolean isFile()
13.isDirectory()
-
测试此抽象路径名表示的文件是否为目录。 即是否是文件夹。
当且仅当此抽象路径名表示的文件存在并且是目录时返回true; 否则为false
-
形式:
public boolean isDirectory()
14.isHidden()
-
测试此抽象路径名指定的文件是否为隐藏文件。
-
形式:
public boolean isHidden()
15.list()
-
形式:
/*1.返回一个字符串数组,用于命名此抽象路径名表示的目录中的文件和目录。 如果此抽象路径名不表示目录,则此方法返回null 。 否则返回一个字符串数组,一个用于目录中的每个文件或目录。 表示目录本身的名称和目录的父目录不包含在结果中。 每个字符串都是文件名而不是完整路径。 无法保证结果数组中的名称字符串将以任何特定顺序出现; 特别是,它们不能保证按字母顺序出现。*/ public String[] list() /*2返回一个字符串数组,用于命名由此抽象路径名表示的目录中的文件和目录,以满足指定的过滤器。 此方法的行为与list()方法的行为相同,只是返回的数组中的字符串必须满足过滤器。 如果给定的filter是null则接受所有名称。 否则,当且仅当在此抽象路径名上调用过滤器的FilenameFilter.accept(File, String)方法以及其表示的目录中的文件或目录的名称时,才会生成值true的名称。 */ public String[] list(FilenameFilter filter)
16.listFiles()
-
返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。
如果此抽象路径名不表示目录,则此方法返回null 。 否则返回File对象的数组,每个文件或目录对应一个对象。 表示目录本身的路径名和目录的父目录不包含在结果中。 每个生成的抽象路径名都是使用File(File, String)构造函数从此抽象路径名构造的。 因此,如果此路径名是绝对的,那么每个结果路径名都是绝对的; 如果此路径名是相对的,则每个结果路径名将相对于同一目录。
无法保证结果数组中的名称字符串将以任何特定顺序出现; 特别是,它们不能保证按字母顺序出现。
-
形式:
//1. public File[] listFiles() //2. 参数:filter - 文件名过滤器 public File[] listFiles(FilenameFilter filter) //3. 参数:filter - 文件过滤器 public File[] listFiles(FileFilter filter)
17.mkdirs()
-
创建此抽象路径名指定的目录,包括任何必需但不存在的父目录。 请注意,如果此操作失败,则可能已成功创建一些必需的父目录。 用于创建有多个父目录的文件,且这些父目录都不存在。
-
形式:
public boolean mkdirs()
18.renameTo()
-
重命名此抽象路径名表示的文件。 可以将一个文件从一个目录移动到另一个目录里面
当且仅当重命名成功时返回true,否者false。
-
形式:
public boolean renameTo(File dest)
-
实现代码:
File file = new File("原来的抽象路径名"); File newfile = new File("新的抽象路径名"); file.renameTo(newfile);
字段
由于Java是一门跨平台的语言,不同的操作系统是有差异的,在使用分隔符时,不一样的平台可能会识别不了,就无法运行,所以Java就提供了分隔符和名称分隔符:
-
pathSeparator:( ; )
与系统相关的路径分隔符,为方便起见,表示为字符串。
-
separator:( \ )
系统相关的默认名称分隔符,为方便起见,表示为字符串。