Java 教程
- Java - 首页
- Java - 概述
- Java - 历史
- Java - 特性
- Java vs. C++
- JVM - Java 虚拟机
- Java - JDK 与 JRE 与 JVM
- Java - Hello World 程序
- Java - 环境设置
- Java - 基本语法
- Java - 变量类型
- Java - 数据类型
- Java - 类型转换
- Java - Unicode 系统
- Java - 基本运算符
- Java - 注释
- Java - 用户输入
- Java - 日期与时间
Java 控制语句
- Java - 循环控制
- Java - 决策
- Java - If-else
- Java - Switch
- Java - For 循环
- Java - For-Each 循环
- Java - While 循环
- Java - do-while 循环
- Java - Break
- Java - Continue
面向对象编程
- Java - OOPs 概念
- Java - 对象与类
- Java - 类属性
- Java - 类方法
- Java - 方法
- Java - 变量作用域
- Java - 构造函数
- Java - 访问修饰符
- Java - 继承
- Java - 聚合
- Java - 多态
- Java - 重写
- Java - 方法重载
- Java - 动态绑定
- Java - 静态绑定
- Java - 实例初始化块
- Java - 抽象
- Java - 封装
- Java - 接口
- Java - 包
- Java - 内部类
- Java - 静态类
- Java - 匿名类
- Java - 单例类
- Java - 包装类
- Java - 枚举
- Java - 枚举构造函数
- Java - 枚举字符串
Java 内置类
Java 文件处理
Java 错误与异常
- Java - 异常
- Java - try-catch 块
- Java - try-with-resources
- Java - 多重 catch 块
- Java - 嵌套 try 块
- Java - finally 块
- Java - throw 异常
- Java - 异常传播
- Java - 内置异常
- Java - 自定义异常
Java 多线程
- Java - 多线程
- Java - 线程生命周期
- Java - 创建线程
- Java - 启动线程
- Java - 加入线程
- Java - 线程命名
- Java - 线程调度器
- Java - 线程池
- Java - 主线程
- Java - 线程优先级
- Java - 守护线程
- Java - 线程组
- Java - 关闭钩子
Java 同步
Java 网络编程
- Java - 网络编程
- Java - Socket 编程
- Java - URL 处理
- Java - URL 类
- Java - URLConnection 类
- Java - HttpURLConnection 类
- Java - Socket 类
- Java - 泛型
Java 集合
Java 接口
Java 数据结构
Java 集合算法
高级 Java
- Java - 命令行参数
- Java - Lambda 表达式
- Java - 发送邮件
- Java - Applet 基础
- Java - Javadoc 注释
- Java - 自动装箱和拆箱
- Java - 文件不匹配方法
- Java - REPL (JShell)
- Java - 多发行版 Jar 文件
- Java - 私有接口方法
- Java - 内部类菱形运算符
- Java - 多分辨率图像 API
- Java - 集合工厂方法
- Java - 模块系统
- Java - Nashorn JavaScript
- Java - Optional 类
- Java - 方法引用
- Java - 函数式接口
- Java - 默认方法
- Java - Base64 编码解码
- Java - Switch 表达式
- Java - Teeing 收集器
- Java - 微基准测试
- Java - 文本块
- Java - 动态 CDS 归档
- Java - Z 垃圾收集器 (ZGC)
- Java - 空指针异常
- Java - 打包工具
- Java - 密封类
- Java - 记录类
- Java - 隐藏类
- Java - 模式匹配
- Java - 简洁数字格式化
- Java - 垃圾回收
- Java - JIT 编译器
Java 杂项
- Java - 递归
- Java - 正则表达式
- Java - 序列化
- Java - 字符串
- Java - Process API改进
- Java - Stream API改进
- Java - 增强的@Deprecated 注解
- Java - CompletableFuture API改进
- Java - 流
- Java - 日期时间 API
- Java 8 - 新特性
- Java 9 - 新特性
- Java 10 - 新特性
- Java 11 - 新特性
- Java 12 - 新特性
- Java 13 - 新特性
- Java 14 - 新特性
- Java 15 - 新特性
- Java 16 - 新特性
Java APIs 与框架
Java 类参考
- Java - Scanner
- Java - 数组
- Java - 字符串
- Java - Date
- Java - ArrayList
- Java - Vector
- Java - Stack
- Java - PriorityQueue
- Java - LinkedList
- Java - ArrayDeque
- Java - HashMap
- Java - LinkedHashMap
- Java - WeakHashMap
- Java - EnumMap
- Java - TreeMap
- Java - IdentityHashMap
- Java - HashSet
- Java - EnumSet
- Java - LinkedHashSet
- Java - TreeSet
- Java - BitSet
- Java - Dictionary
- Java - Hashtable
- Java - Properties
- Java - Collection
- Java - Array
Java 有用资源
Java - File 类
Java File 类
Java File 类以抽象的方式表示文件和目录路径名。此类用于创建文件和目录、文件搜索、文件删除等。
File 对象表示磁盘上的实际文件/目录。
File 类构造函数
以下是创建 File 对象的构造函数列表。
序号 | 方法及描述 |
---|---|
1 | File(File parent, String child) 此构造函数从父抽象路径名和子路径名字符串创建一个新的 File 实例。 |
2 | File(String pathname) 此构造函数通过将给定的路径名字符串转换为抽象路径名来创建一个新的 File 实例。 |
3 | File(String parent, String child) 此构造函数从父路径名字符串和子路径名字符串创建一个新的 File 实例。 |
4 | File(URI uri) 此构造函数通过将给定的 file: URI 转换为抽象路径名来创建一个新的 File 实例。 |
File 类方法
一旦您拥有了 *File* 对象,就可以使用一系列辅助方法来操作文件。
序号 | 方法及描述 |
---|---|
1 | public String getName() 返回此抽象路径名所表示的文件或目录的名称。 |
2 | public String getParent() 返回此抽象路径名的父路径名字符串,如果此路径名未命名父目录,则返回 null。 |
3 | public File getParentFile() 返回此抽象路径名的父抽象路径名,如果此路径名未命名父目录,则返回 null。 |
4 | public String getPath() 将此抽象路径名转换为路径名字符串。 |
5 | public boolean isAbsolute() 测试此抽象路径名是否为绝对路径。如果此抽象路径名是绝对路径,则返回 true,否则返回 false。 |
6 | public String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。 |
7 | public boolean canRead() 测试应用程序是否可以读取此抽象路径名所表示的文件。当且仅当此抽象路径名指定的文件存在且应用程序可以读取时,返回 true;否则返回 false。 |
8 | public boolean canWrite() 测试应用程序是否可以修改此抽象路径名所表示的文件。当且仅当文件系统实际包含此抽象路径名所表示的文件,并且应用程序允许写入该文件时,返回 true;否则返回 false。 |
9 | public boolean exists() 测试此抽象路径名所表示的文件或目录是否存在。当且仅当此抽象路径名所表示的文件或目录存在时,返回 true;否则返回 false。 |
10 | public boolean isDirectory() 测试此抽象路径名所表示的文件是否为目录。当且仅当此抽象路径名所表示的文件存在且为目录时,返回 true;否则返回 false。 |
11 | public boolean isFile() 测试此抽象路径名所表示的文件是否为普通文件。如果一个文件不是目录,并且还满足其他系统相关的条件,则该文件是普通文件。Java 应用程序创建的任何非目录文件都保证是普通文件。当且仅当此抽象路径名所表示的文件存在且为普通文件时,返回 true;否则返回 false。 |
12 | public long lastModified() 返回此抽象路径名所表示的文件上次修改的时间。返回一个长整数值,表示文件上次修改的时间(以自纪元(1970 年 1 月 1 日 00:00:00 GMT)以来的毫秒数计算),如果文件不存在或发生 I/O 错误,则返回 0L。 |
13 | public long length() 返回此抽象路径名所表示的文件的长度。如果此路径名表示目录,则返回值未指定。 |
14 | public boolean createNewFile() throws IOException 当且仅当此名称的文件尚不存在时,以原子方式创建此抽象路径名所命名的新的空文件。如果命名文件不存在并成功创建,则返回 true;如果命名文件已存在,则返回 false。 |
15 | public boolean delete() 删除此抽象路径名所表示的文件或目录。如果此路径名表示目录,则该目录必须为空才能被删除。当且仅当文件或目录成功删除时,返回 true;否则返回 false。 |
16 | public void deleteOnExit() 请求在虚拟机终止时删除此抽象路径名表示的文件或目录。 |
17 | public String[] list() 返回一个字符串数组,其中包含此抽象路径名表示的目录中的文件和目录的名称。 |
18 | public String[] list(FilenameFilter filter) 返回一个字符串数组,其中包含此抽象路径名表示的目录中满足指定过滤器的文件和目录的名称。 |
20 | public File[] listFiles() 返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。 |
21 | public File[] listFiles(FileFilter filter) 返回一个抽象路径名数组,表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。 |
22 | public boolean mkdir() 创建此抽象路径名表示的目录。当且仅当目录创建成功时返回 true;否则返回 false。 |
23 | public boolean mkdirs() 创建此抽象路径名表示的目录,包括任何必要的但不存在的父目录。当且仅当目录及其所有必要的父目录创建成功时返回 true;否则返回 false。 |
24 | public boolean renameTo(File dest) 重命名此抽象路径名表示的文件。当且仅当重命名成功时返回 true;否则返回 false。 |
25 | public boolean setLastModified(long time) 设置此抽象路径名表示的文件或目录的上次修改时间。当且仅当操作成功时返回 true;否则返回 false。 |
26 | public boolean setReadOnly() 标记此抽象路径名表示的文件或目录,使其只允许读取操作。当且仅当操作成功时返回 true;否则返回 false。 |
27 | public static File createTempFile(String prefix, String suffix, File directory) throws IOException 在指定的目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。返回一个表示新创建的空文件的抽象路径名。 |
28 | public static File createTempFile(String prefix, String suffix) throws IOException 在默认的临时文件目录中创建一个空文件,使用给定的前缀和后缀生成其名称。调用此方法等效于调用 createTempFile(prefix, suffix, null)。返回表示新创建的空文件的抽象路径名。 |
29 | public int compareTo(File pathname) 按字典顺序比较两个抽象路径名。如果参数等于此抽象路径名,则返回零;如果此抽象路径名按字典顺序小于参数,则返回小于零的值;如果此抽象路径名按字典顺序大于参数,则返回大于零的值。 |
30 | public int compareTo(Object o) 将此抽象路径名与另一个对象进行比较。如果参数等于此抽象路径名,则返回零;如果此抽象路径名按字典顺序小于参数,则返回小于零的值;如果此抽象路径名按字典顺序大于参数,则返回大于零的值。 |
31 | public boolean equals(Object obj) 测试此抽象路径名与给定对象的相等性。当且仅当参数不为 null 且是一个表示与此抽象路径名相同文件或目录的抽象路径名时返回 true。 |
32 | public String toString() 返回此抽象路径名的路径名字符串。这只是 getPath() 方法返回的字符串。 |
Java 中的 File 类示例
以下是一个演示 File 对象的示例:
package com.tutorialspoint; import java.io.File; public class FileDemo { public static void main(String[] args) { File f = null; String[] strs = {"test1.txt", "test2.txt"}; try { // for each string in string array for(String s:strs ) { // create new file f = new File(s); // true if the file is executable boolean bool = f.canExecute(); // find the absolute path String a = f.getAbsolutePath(); // prints absolute path System.out.print(a); // prints System.out.println(" is executable: "+ bool); } } catch (Exception e) { // if any I/O error occurs e.printStackTrace(); } } }
假设当前目录下有一个可执行文件 test1.txt 和另一个不可执行文件 test2.txt。让我们编译并运行上面的程序,这将产生以下结果:
输出
/home/cg/root/2880380/test1.txt is executable: false /home/cg/root/2880380/test2.txt is executable: false