File类

发布时间:2024年01月19日

File类

? ? File类的每一个实例可以表示硬盘(文件系统)中的一个文件或目录(实际上表示的是一个抽象路径)

使用File可以做到:

- 1:访问其表示的文件或目录的属性信息,例如:名字,大小,修改时间等等
- 2:创建和删除文件或目录
- 3:访问一个目录中的子项

但是File不能访问文件数据.


public class FileDemo {
? ? public static void main(String[] args) {
? ? ? ? //使用File访问当前项目目录下的demo.txt文件
? ? ? ? /*
? ? ? ? ? ? 创建File时要指定路径,而路径通常使用相对路径。
? ? ? ? ? ? 相对路径的好处在于有良好的跨平台性。
? ? ? ? ? ? "./"是相对路径中使用最多的,表示"当前目录",而当前目录是哪里
? ? ? ? ? ? 取决于程序运行环境而定,在idea中运行java程序时,这里指定的
? ? ? ? ? ? 当前目录就是当前程序所在的项目目录。
? ? ? ? ?*/
// ? ? ? ?File file = new File("c:/xxx/xxx/xx/xxx.txt");
? ? ? ? File file = new File("./demo.txt");
? ? ? ? //获取名字
? ? ? ? String name = file.getName();
? ? ? ? System.out.println(name);
? ? ? ? //获取文件大小(单位是字节)
? ? ? ? long len = file.length();
? ? ? ? System.out.println(len+"字节");
? ? ? ? //是否可读可写
? ? ? ? boolean cr = file.canRead();
? ? ? ? boolean cw = file.canWrite();
? ? ? ? System.out.println("是否可读:"+cr);
? ? ? ? System.out.println("是否可写:"+cw);
? ? ? ? //是否隐藏
? ? ? ? boolean ih = file.isHidden();
? ? ? ? System.out.println("是否隐藏:"+ih);

? ? }

}

?创建一个新文件

createNewFile()方法,可以创建一个新文件


package file;

import java.io.File;
import java.io.IOException;

/**
?* 使用File创建一个新文件
?*/
public class CreateNewFileDemo {
? ? public static void main(String[] args) throws IOException {
? ? ? ? //在当前目录下新建一个文件:test.txt
? ? ? ? File file = new File("./test.txt");
? ? ? ? //boolean exists()判断当前File表示的位置是否已经实际存在该文件或目录
? ? ? ? if(file.exists()){
? ? ? ? ? ? System.out.println("该文件已存在!");
? ? ? ? }else{
? ? ? ? ? ? file.createNewFile();//将File表示的文件创建出来
? ? ? ? ? ? System.out.println("文件已创建!");
? ? ? ? }

? ? }
}

?删除一个文件

delete()方法可以将File表示的文件删除


package file;

import java.io.File;

/**
?* 使用File删除一个文件
?*/
public class DeleteFileDemo {
? ? public static void main(String[] args) {
? ? ? ? //将当前目录下的test.txt文件删除
? ? ? ? /*
? ? ? ? ? ? 相对路径中"./"可以忽略不写,默认就是从当前目录开始的。
? ? ? ? ?*/
? ? ? ? File file = new File("test.txt");
? ? ? ? if(file.exists()){
? ? ? ? ? ? file.delete();
? ? ? ? ? ? System.out.println("文件已删除!");
? ? ? ? }else{
? ? ? ? ? ? System.out.println("文件不存在!");
? ? ? ? }
? ? }
}

创建目录

mkDir():创建当前File表示的目录

mkDirs():创建当前File表示的目录,同时将所有不存在的父目录一同创建


package file;

import java.io.File;

/**
?* 使用File创建目录
?*/
public class MkDirDemo {
? ? public static void main(String[] args) {
? ? ? ? //在当前目录下新建一个目录:demo
// ? ? ? ?File dir = new File("demo");
? ? ? ? File dir = new File("./a/b/c/d/e/f");

? ? ? ? if(dir.exists()){
? ? ? ? ? ? System.out.println("该目录已存在!");
? ? ? ? }else{
// ? ? ? ? ? ?dir.mkdir();//创建目录时要求所在的目录必须存在
? ? ? ? ? ? dir.mkdirs();//创建目录时会将路径上所有不存在的目录一同创建
? ? ? ? ? ? System.out.println("目录已创建!");
? ? ? ? }
? ? }
}

删除目录

delete()方法可以删除一个目录,但是只能删除空目录。


package file;

import java.io.File;

/**
?* 删除一个目录
?*/
public class DeleteDirDemo {
? ? public static void main(String[] args) {
? ? ? ? //将当前目录下的demo目录删除
? ? ? ? File dir = new File("demo");
// ? ? ? ?File dir = new File("a");
? ? ? ? if(dir.exists()){
? ? ? ? ? ? dir.delete();//delete方法删除目录时只能删除空目录
? ? ? ? ? ? System.out.println("目录已删除!");
? ? ? ? }else{
? ? ? ? ? ? System.out.println("目录不存在!");
? ? ? ? }
? ? }
}

总结:? ?

? ? File类是Java中用于表示文件和目录路径的类。它提供了一些方法来获取文件和目录的属性,以及进行文件和目录的操作。

  1. 创建File对象: File file = new File("path"); // 通过给定的路径创建File对象 File file = new File("parentPath", "childPath"); // 通过父路径和子路径创建File对象 File file = new File(new URI("uri")); // 通过URI创建File对象

  2. 获取文件信息: file.exists(); // 判断文件或目录是否存在 file.isFile(); // 判断是否为文件 file.isDirectory(); // 判断是否为目录 file.getName(); // 获取文件或目录的名称 file.getPath(); // 获取文件或目录的路径 file.getAbsolutePath(); // 获取文件或目录的绝对路径 file.getParent(); // 获取文件或目录的父路径 file.lastModified(); // 获取最后修改时间 file.length(); // 获取文件的大小

  3. 文件和目录操作: file.createNewFile(); // 创建新文件 file.mkdir(); // 创建目录 file.delete(); // 删除文件或目录 file.renameTo(newName); // 重命名文件或目录 file.list(); // 返回目录中的文件和目录名列表 file.listFiles(); // 返回目录中的文件和目录对象列表

  4. 文件过滤: file.listFiles(filter); // 使用文件过滤器获取满足条件的文件和目录对象列表 FileFilter filter = new FileFilter() { public boolean accept(File pathname) { return pathname.getName().endsWith(".txt"); // 只接受以.txt结尾的文件 } };

  5. 文件操作: FileInputStream fis = new FileInputStream(file); // 创建文件输入流 FileOutputStream fos = new FileOutputStream(file); // 创建文件输出流 FileReader fr = new FileReader(file); // 创建文件字符输入流 FileWriter fw = new FileWriter(file); // 创建文件字符输出流

  6. 目录操作: file.listFiles(); // 返回目录中的文件和目录对象列表 file.mkdir(); // 创建目录 file.delete(); // 删除目录(只能删除空目录) File[] subFiles = file.listFiles(); for (File subFile : subFiles) { // 对子文件或子目录进行操作 }

?

? ??

文章来源:https://blog.csdn.net/Flying_Fish_roe/article/details/135633768
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。