File类是java.io包下代表与平台无关的文件和目录,如果希望在程序中操作文件和目录,都可以通过File类完成,File能新建、删除、重命名文件和目录,但不能访问文件内容,如果需要访问文件内容,则需要使用输入/输出流。
File类提供了很多操作文件和目录的方法:
访问文件名相关的方法
String getName():返回此File对象表示的文件名;
String getPath():返回此File对象所对应的路径名;
File getAbsoluteFile():返回此File对象所对应的绝对路径所对应的File对象;
String getAbsolutePath():返回此File对象所对应的绝对路径名;
String getParent():返回此File对象所对应目录的父目录名;
Boolean renameTo(File newName):重命名此File对象所对应的文件或目录,如果重名名成功,则返回true,否则返回false;
文件检测相关的方法
boolean exists():判断File对象所对应的文件或目录是否存在;
boolean canWrite():判断File对象所对应的文件和目录是否可写;
boolean canRead():判断File对象所对应的文件和目录是否可读;
boolean isFile():判断File对象所对应的是否是文件,而不是目录;
boolean isDirectory():判断File对象所对应是否是目录,而不是文件;
boolean isAbsolute():判断File对象所对应的文件或目录是否是绝对路径;
package com.wql.io;
import java.io.File;
public class FileDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("./src/com/wql/io/hello.txt");// 这并不是建立一个hello.txt文件,只是将路径"./second/hello.txt"封装成对象给file,file就指向这个路径
// String getName():返回此File对象表示的文件名;
System.out.println(file.getName());
// String getPath():返回此File对象所对应的路径名;
System.out.println(file.getPath());
// String getAbsolutePath():返回此File对象所对应的绝对路径名;
System.out.println("file的绝对路径:" + file.getAbsolutePath());
// File getAbsoluteFile():返回此File对象所对应的绝对路径所对应的File对象;
File file2 = file.getAbsoluteFile(); // 新建一个File对象file2接收此File对象所对应的绝对路径所对应的File对象,此时file2获得了file的绝对路径
System.out.println("file2的绝对路径:" + file2.getAbsolutePath());
//String getParent():返回此File对象所对应目录的父目录名;
System.out.println("父目录名"+file.getParent());
//boolean exists():判断File对象所对应的文件或目录是否存在;
System.out.println(file.exists());
//boolean canWrite():判断File对象所对应的文件和目录是否可写;
System.out.println(file.canWrite());
//boolean canRead():判断File对象所对应的文件和目录是否可读;
System.out.println(file.canRead());
//boolean isFile():判断File对象所对应的是否是文件,而不是目录
System.out.println(file.isFile());
//boolean isDirectory():判断File对象所对应是否是目录,而不是文件;
System.out.println(file.isDirectory());
//boolean isAbsolute():判断File对象所对应的文件或目录是否是绝对路径;
System.out.println(file.isAbsolute());
//boolean mkdir():创建一个File对象所对应的目录;
System.out.println(file.mkdir());
//String[] list():列出File对象的所有子文件名和路径名;
String[] list=file.list();
/*for(int i=0;i<list.length;i++){
System.out.println(list[i]); //file指向的路径是一个文件,并不是目录,数组list值为null
}*/
//File[] listFiles():列出File对象的所有子文件和路径,返回File数组;
File[] fileList=file.listFiles();
/*for(int i=0;i<fileList.length;i++){ //file指向的路径是一个文件,并不是目录,数组list值为null
System.out.println(fileList[i].getAbsolutePath()+"---->>"+fileList[i].getName());
}*/
//static File[] listRoots():列出系统所有的根路径;
File[] li=file.listRoots();
for(int i=0;i<li.length;i++){//显示你电脑的系统所有顶级路径
System.out.println(li[i]);
}
}
}