File类型
所在包:java.io.File
作用:
- 用于表示文件或目录
- 可以在程序中对磁盘上的文件或目录进行操作
- 查看文件或目录的属性信息(大小,修改时间等)
- 创建,删除文件或目录
强调:不能对文件的内容进行访问,如果需要访问文件里的内容,则需要使用输入/输出流。
常用构造器和方法
import java.io.File;
import java.io.IOException;
public class FileDemo01 {
public static void main(String[] args) throws IOException {
/*
* File(String parent,String child)
* 指定父路径名字符串和子路径名字符串创建新的 File实例。
*/
File f = new File("E:","file.txt");
/*
* File(String pathname)
* 指定路径名字符串来创建新的 File实例。
*/
File f1 = new File(".\\file1.txt");
/*
* File(File parent, String child)
* 指定父抽象路径名和子路径名字符串创建新的 File实例。
*/
File f2 = new File(".","file2.txt");
/*查看文件名的相关方法*/
/*
* File getAbsoluteFile() 返回此抽象路径名的绝对形式。
*/
System.out.println(f1.getAbsoluteFile());//输出:F:\aDemo\.\file1.txt
/*
* String getAbsolutePath()
* 返回此抽象路径名的绝对路径名字符串。
*/
System.out.println(f1.getAbsolutePath());//输出:F:\aDemo\.\file1.txt
/*
* String getName() 返回由此抽象路径名表示的文件或目录的名称。
*/
System.out.println(f1.getName());//输出:file1.txt
/*
* String getPath() 将此抽象路径名转换为路径名字符串。
*/
System.out.println(f1.getPath());//输出:.\file1.txt
/*
* String getParent()
* 返回此抽象路径名的父路径名字符串,如果此路径名未命名为父目录,则返回null。
*/
System.out.println(f1.getParent());//输出:.
/*
* 注意:
* getPath()获取的是构造器中指定的字符串路径
* getParent()获取的是构造器中指定的字符串路径的除了文件名之外的部分
*/
/*文件检测方法*/
/*
* boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
*/
System.out.println(f.exists());
/*
* boolean canExecute() 测试应用程序是否可以执行此抽象路径名表示的文件。
*/
System.out.println(f.canExecute());
/*
* boolean canRead() 测试应用程序是否可以读取由此抽象路径名表示的文件。
*/
System.out.println(f.canRead());
/*
* boolean canWrite() 测试应用程序是否可以修改由此抽象路径名表示的文件。
*/
System.out.println(f.canWrite());
/*
* boolean isDirectory() 测试此抽象路径名表示的文件是否为目录。
*/
System.out.println(f.isDirectory());
/*
* boolean isFile() 测试此抽象路径名表示的文件是否为普通文件。
*/
System.out.println(f.isFile());
/*
* boolean isHidden() 测试此抽象路径名命名的文件是否为隐藏文件。
*/
System.out.println(f.isHidden());
/*
* long length() 返回由此抽象路径名表示的文件的长度。
*/
System.out.println(f.length());
/*
* long lastModified() 返回此抽象路径名表示的文件上次修改的时间。
*/
System.out.println(f.lastModified());
System.out.println("--------------文件和目录操作 相关方法-------------");
//文件和目录操作 相关方法
/*
* boolean createNewFile()
* 当且仅当具有该名称的文件尚不存在时,创建一个由该抽象路径名命名的新的空文件。
*/
System.out.println(f1.createNewFile());
/*
* boolean renameTo(File dest) 重命名由此抽象路径名表示的文件。
*/
f.renameTo(new File("E:f1.txt"));
/*
* boolean mkdir() 创建由此抽象路径名命名的目录。
*/
System.out.println(f.mkdir());
/*
* boolean mkdirs() 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。
*/
System.out.println(f.mkdirs());
/*
* String[] list() 返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
*/
String[] s = f.list();
System.out.println(s);
/*
* File[] listFiles() 返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。
*/
File[] file = f.listFiles();
System.out.println(file);
/*
* boolean delete() 删除由此抽象路径名表示的文件或目录。
*/
System.out.println(f.delete());
}
}
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
File[] file = File.listRoots();
for(File f:file){
System.out.println(f);
}
}
}
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
File file = new File("c://");
String[] s = file.list();
if(file.exists()){
for(String s1:s){
System.out.println(s1);
}
}else{
System.out.println("目录不存在");
}
}
}
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
File file = new File("c://");
File[] f = file.listFiles();
if(file.isDirectory()){
for(File f1:f){
System.out.println(f1);
}
}else{
System.out.println("不是一个目录");
}
}
}