File類的常見方法
1.創建。
boolean createNewFile(); //創建文件
boolean mkdir();創建文件夾
boolean mkdirs();創建多級文件夾。
2.刪除。
boolean delete();
void deleteOnExit();在程序退出時刪除文件。
3.判斷。
boolean canExcute(); 判斷是否可執行
boolean exists(); 文件事是否存在。
isFile();文件
isDirectory();文件夾
isHidden();//java能得到文件中的隱藏文件但是對隱藏文件時不能訪問的
isAbsolute();//絕對路徑即時不存在也能得到。
4.獲取信息。
getName();
getPath();
getParent();
getAbsolutePath();
long lastModified();
long length();
java.io.File類用於表示文件或目錄。
File類只用於表示目標文件(目錄)的大小,名稱,路徑,並可進行是否存在的判斷,還有創建和修改等,不能用於文件內容的訪問
創建File對象:
File file = new File("E:/...");//文件/文件夾路徑對象
File file = new File("..." ,""...);//父目錄絕對路徑 + 子目錄名稱
File file = new File("...","...");//父目錄File對象 + 子目錄名稱
file.exists():判斷文件/文件夾是否存在
file.delete():刪除文件/文件夾
file.isDirectory():判讀是否為目錄
file.isFile():判讀是否為文件夾
file.mkdir():創建文件夾(僅限一級目錄)
file.mkdirs():創建多及目錄文件夾(包括但不限一級目錄)
file.createNewFile():創建文件
file.getAbsolutePath():得到文件/文件夾的絕對路徑
file.getName():得到文件/文件夾的名字
file.String():同樣是得到文件/文件夾的絕對路徑等於file.getAbsolutePath()
file.getParent():得到父目錄的絕對路徑
String[] gdir.list():得到目錄的子目錄\文件的名稱(不是絕對路徑)
File[] dir.listFiles():得到目錄的子目錄\文件事是否存在。
public static void main(String[] args) throws IOException {
System.out.println("file test");
File file=new File("E:\\java\\javaee\\testjava\\file");
System.out.println(file.getName()); //文件的名字
File file2=new File("E:\\java\\javaee\\testjava\\1.txt");
if(file2.exists()){
}else{
file2.createNewFile();
}
File file3=new File("testking.txt");
if(!file3.exists()){
file3.createNewFile();
}
}
File.createNewfile創建文本
File.mkdir創建目錄
File.tostring方法打印文件全路徑名稱
File.list列出文件直接子目錄或文件的名字
File.listFile列出直接子File對象
package oneboi;
import java.io.File;
import java.io.IOException;
public class FileUtil {
public static void listDirectory(File dir)throws IOException{
// 為了謹慎起見判斷目錄是否存在
if(!dir.exists()){
throw new IllegalArgumentException("目錄:"+dir+"不存在.");
}
// 為了謹慎起見判斷是否是目錄
if (!dir.isDirectory())
throw new IllegalArgumentException("該文件不是目錄");
String[] s=dir.list();//這個方法返回一個目錄下文件名稱的字符串數組
// for (String s1 : s) {
// System.out.println(s1);
// }
File[] f1 = dir.listFiles();//這個方法返回一個目錄下的文件數組對象
if (f1 != null && f1.length > 0) {
for (File f2 : f1) {//遍歷這個文件數組的每一個文件
if (f2.isDirectory()) {//如果是目錄就遞歸,不是就直接輸出(不判斷的話遞歸后會,不是目錄的會被當做異常拋出,然后終止程序)
System.out.println(f2);
listDirectory(f2);
} else {
System.out.println(f2);
}
}
}
}
}