目录
- File类
- 实例
File类
Java的File
类是java.io.File
的一个类,它表示文件或目录的路径名。这个类在处理文件和目录时非常有用,它提供了很多静态方法来操作文件和目录。
以下是一些File
类的常见方法:
- 构造方法:创建表示文件或目录路径名的
File
对象。
File(String pathname)
-
判断方法:判断文件或目录是否存在,是否为文件,是否为目录等。
exists()
: 判断文件或目录是否存在。isFile()
: 判断是否为文件。isDirectory()
: 判断是否为目录。
-
获取信息方法:获取文件或目录的长度,名称,路径等信息。
length()
: 获取文件长度(以字节为单位)。getName()
: 获取文件或目录的名称。getPath()
: 获取文件的路径名。getParent()
: 获取父目录的路径名。
-
操作方法:创建新文件,删除文件或目录等。
createNewFile()
: 在文件中创建新文件。delete()
: 删除文件或目录。
-
比较方法:比较两个
File
对象是否表示相同的文件或目录。equals(Object obj)
: 比较两个File
对象是否表示相同的文件或目录。hashCode()
: 返回此抽象路径名的哈希码。
-
其他方法:还有很多其他的方法,如列出目录中的文件,移动文件等。
请注意,尽管File
类提供了一些用于操作文件和目录的基本功能,但实际上使用更高级的类,如FileReader
, FileWriter
, BufferedReader
, 和BufferedWriter
等可能更方便,更安全。
实例
import java.io.File;
import java.io.IOException;public class Test01 {//这是一个main方法,是程序的入口:public static void main(String[] args) throws IOException {//将文件封装为一个File类的对象:File f = new File("d:\\test.txt");File f1 = new File("d:\\test.txt");File f2 = new File("d:/test.txt");//File.separator属性帮我们获取当前操作系统的路径拼接符号//在windows,dos下,系统默认用“\”作为路径分隔符 ,在unix,url中,使用“/”作为路径分隔符。File f3 = new File("d:"+File.separator+"test.txt");//建议使用这种//常用方法:System.out.println("文件是否可读:"+f.canRead());System.out.println("文件是否可写:"+f.canWrite());System.out.println("文件的名字:"+f.getName());System.out.println("上级目录:"+f.getParent());System.out.println("是否是一个目录:"+f.isDirectory());System.out.println("是否是一个文件:"+f.isFile());System.out.println("是否隐藏:"+f.isHidden());System.out.println("文件的大小:"+f.length());System.out.println("是否存在:"+f.exists());/*if(f.exists()){//如果文件存在,将文件删除操作f.delete();}else{//如果不存在,就创建这个文件f.createNewFile();}*/System.out.println(f == f1);//比较两个对象的地址System.out.println(f.equals(f1));//比较两个对象对应的文件的路径//跟路径相关的:System.out.println("绝对路径:"+f.getAbsolutePath());System.out.println("相对路径:"+f.getPath());System.out.println("toString:"+f.toString());System.out.println("----------------------");File f5 = new File("demo.txt");if(!f5.exists()){f5.createNewFile();}//绝对路径指的就是:真实的一个精准的,完整的路径System.out.println("绝对路径:"+f5.getAbsolutePath());//相对路径:有一个参照物,相对这个参照物的路径。//在main方法中,相对位置指的就是:D:\IDEA_workspace\TestJavaSE//在junit的测试方法中,相对路径指的就是模块位置System.out.println("相对路径:"+f5.getPath());//toString的效果永远是 相对路径System.out.println("toString:"+f5.toString());File f6 = new File("a/b/c/demo.txt");if(!f5.exists()){f5.createNewFile();}System.out.println("绝对路径:"+f6.getAbsolutePath());System.out.println("相对路径:"+f6.getPath());}
}