java面向对象程序设计文件类
时间: 2025-01-04 09:32:15 浏览: 5
### Java 面向对象编程中的 `File` 类
在 Java 的面向对象编程中,`java.io.File` 是用于表示文件和目录路径名的对象。尽管它不处理实际的数据读写操作,但提供了许多有用的方法来管理文件和目录。
#### 创建文件实例
可以使用 `File(String pathname)` 构造器通过给定的路径名称创建一个新的 `File` 实例[^2]:
```java
import java.io.File;
public class Example {
public static void main(String[] args) {
File myFile = new File("example.txt");
}
}
```
#### 常见方法介绍
- **创建新文件**
调用 `createNewFile()` 方法可以在磁盘上创建新的空文件。如果文件已经存在,则不会执行任何操作并返回 false;否则将尝试创建该文件:
```java
boolean created = myFile.createNewFile();
```
- **删除文件**
可以调用 `delete()` 来移除指定的文件或目录。对于非空目录来说,此方法仅能标记其待删状态而无法真正清除其中的内容:
```java
boolean deleted = myFile.delete();
```
- **获取绝对路径**
获取当前文件对象所对应的抽象路径字符串形式可以通过 `getAbsolutePath()` 完成:
```java
String absPath = myFile.getAbsolutePath();
System.out.println(absPath);
```
- **判断是否存在**
利用 `exists()` 函数检测目标位置是否有同名实体存在:
```java
if (myFile.exists()) {
// 存在此处逻辑...
}
```
- **列出子项列表**
对于代表目录的 `File` 对象而言,可借助 `listFiles()` 返回一个数组包含所有直接位于该目录下的文件及子目录作为 `File` 对象的形式:
```java
File dir = new File("/path/to/directory/");
File[] filesInDir = dir.listFiles();
for (File f : filesInDir) {
System.out.println(f.getName());
}
```
#### 结合过滤条件筛选特定类型的文件
有时可能需要根据某些标准挑选出符合条件的一组文件,在这种情况下就可以利用实现了 `FileFilter` 接口的匿名内部类来进行定制化匹配:
```java
// 找到所有 .txt 后缀结尾的文本文件
File folder = new File(".");
File[] txtFiles = folder.listFiles(new FileFilter() {
@Override
public boolean accept(File file) {
return file.isFile() && file.getName().endsWith(".txt");
}
});
for (File textFile : txtFiles) {
System.out.println(textFile.getPath());
}
```
阅读全文