| |
| |
常用常量 | |
File.separator(分隔同一个路径字符串中的目录,例如C:\Program Files\Common Files) | |
与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 separatorChar。 | |
File.separatorChar | |
与系统有关的默认名称分隔符。此字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,此字段的值为 '/';在 Microsoft Windows 系统上,它为 '\\'。 | |
File.pathSeparator(分隔连续多个路径字符串的分隔符,例如java-cptest.jar;abc.jar HelloWorld) | |
与系统有关的路径分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即pathSeparatorChar。 | |
File.pathSeparatorChar | |
与系统有关的路径分隔符。此字段被初始为包含系统属性 path.separator 值的第一个字符。此字符用于分隔以路径列表 形式给定的文件序列中的文件名。在 UNIX 系统上,此字段为 ':';在 Microsoft Windows 系统上,它为 ';'。 | |
示例: | |
//获取当前class所在的盘符文件目录,假设为:D File root =new File("/"); //绝对路径为: D:/test.txt File txtFile =new File(root,"test.txt"); | |
| |
创建一个新的File对象 | |
File(File parent, String child) | |
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。 | |
File(String parent, String child) | |
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。 | |
File(String pathname) | |
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 | |
File(URI uri) | |
通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。 | |
相对目录问题 | |
java.io 包中的类总是根据当前用户目录来解析相对路径名。此目录由系统属性 user.dir 指定,通常是 Java 虚拟机的调用目录。 | |
| |
File类的缺点 | |
在Java SE 7的发布之前,java.io.File类是用于文件I / O机制,但它有几个缺点: | |
- 很多方法失败了,但没有抛出异常,所以不可能获得有用的错误消息。例如,一个文件删除失败,程序会收到一个“删除失败”,但不知-道是不是因为该文件不存在、用户没有权限,或者有一些其他的问题。 -rename方法始终无法跨平台运行。 -没有真正支持 symbolic links。 -无法获取更多需要的元数据,比如文件权限,文件所有者,以及其他安全属性。 -访问文件的元数据是低效的。 -许多方法并没有形成规模。如果需要列出大目录,可能会导致系统挂起。大目录也可能造成内存资源的问题,导致拒绝服务。 -在遍历文件树的时候,如果有循环性的符号链接,并不能编写可靠的代码作出适当的反应。 | |
例如删除一个文件: | |
|
已使用 传智播客 创建。