目录
- 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());
}
}