package cn.file;
import java.io.File;
/**
* 今天,繼續給大家分享一下:關於java.io.File的使用;
* 首先:先讓大家知道File類都能做什麼?
*
* :java.io.File主要是爲用戶提供文件和目錄的創建,查找,刪除等操作;
*
* 好,接下來開始Demo的示例;
*/
/**
*
* 首先先創建一個自己的測試類
* @author Administrator
*/
public class FileTest {
/**
* Java主函數|程序的入口;
* @param args
*/
public static void main(String[] args) {
// 給定一個初始化文件目錄;
String pathname = "D:\\Documsents\\Downloads";
// String pathname = "D:\\Documents\\Downloads\\VMWare激活密匙.txt";
// 實例化File對象;
File file = new File(pathname);
/**
* getAbsolutePath();
* 返回文件絕對路徑;
*/
// String absolutePath = file.getAbsolutePath();
/**
* getPath();
* 返回文件構造路徑;
*/
// String path = file.getPath();
/**
* getName();
* 返回文件名稱;
*/
// String name = file.getName();
/**
* length();
* 返回文件的字節長度;
*/
// long length = file.length();
/**
* exists();
* 判斷是否存在該目錄或文件;
*/
// boolean exists = file.exists();
/**
* isDirectory();
* 判斷是否是一個目錄;
*/
// boolean directory = file.isDirectory();
/**
* isFile();
* 判斷是否爲一個文件;
*/
// boolean file2 = file.isFile();
// try {
//
// /**
// * createNewFile();
// * 創建該目錄文件;(當且僅當該目錄或文件不存在的時候創建)
// * 注意:它創建的是文件;
// */
// file.createNewFile();
// } catch (IOException e) {
// e.printStackTrace();
// }
/**
* file.delete();
* 刪除該目錄文件;(目錄不變,文件刪除)
*/
// file.delete();
/**
* mkdir();
* 在該目錄存在的情況下創建對應的文件;
* (當且僅當改目錄或文件不存在的時候創建);
* 注意:它創建的是文件夾;
*/
// file.mkdir();
/**
* mkdirs();
* 創建file指向的目錄,即便不存在的父路徑也會創建;
* (僅僅自創建對應的目錄,不創建對應的文件);
*/
// file.mkdirs();
// System.out.println(absolutePath);
// System.out.println(path);
// System.out.println(name);
// System.out.println(length);
// System.out.println("是否存在該目錄或文件?"+exists);
// System.out.println("是否是一個目錄?"+directory);
// System.out.println("是否爲一個文件?"+file2);
/**
* 接下來給大家循環一下獲取到的文件目錄:
* File提供了兩種方式:
* 1. public String[] list(); // 返回String數組;
* 2. public File[] listFiles(); // 返回FIle數組;
* 這兩種方式都能夠返回當前File指向路徑下的文件或目錄;
* 其中兩者的特點我會在下面的小Demo中進行說明;
*/
/**
* 首先開始我們的
* list();循環;
*
* list()循環返回的是當前File指向路徑下的文件或目錄;
* 至於它目錄下的子集目錄是無法循環的;(當然你可以迭代嵌套獲取)
*
* 需要注意:在循環的過程中要進行路徑是否存在的預判處理;否則會有運行時異常java.lang.NullPointerException;
*/
for(String strPath : file.list()){
System.out.println(strPath);
}
/**
* 接下來進行
* listFiles()遍歷;
*
* listFiles()返回的也是當前File指向路徑下的文件或目錄;
* 至於它目錄下的子集目錄是無法循環的;(當然你可以迭代嵌套獲取)
*
* 需要注意:在循環的過程中要進行路徑是否存在的預判處理;否則會有運行時異常java.lang.NullPointerException;
*/
// for(File thisFile : file.listFiles()){
// System.out.println(thisFile.getAbsolutePath());
// }
}
}