IO學習File類

File有三個構造方法(效果都一樣)


public File(String pathname)        根據一個路徑得到File對象

// File(String pathname):根據一個路徑得到File對象
// 把e:\\demo\\a.txt封裝成一個File對象
    File f = new File("e:\\demo\\a.txt");

public File(String parent,
            String child)                   根據一個目錄和一個子文件/目錄得到File對象

// File(String parent, String child):根據一個目錄和一個子文件/目錄得到File對象
	File f2 = new File("e:\\demo","a.txt");

public File(File parent,
            String child)                 根據一個父File對象和一個子文件/目錄得到File對象

// File(File parent, String child):根據一個父File對象和一個子文件/目錄得到File對象
	File f3 = new File("e:\\demo");
	File f4 = new File(f3,"a.txt");

File類的創建功能:


public boolean createNewFile():創建文件 如果存在這樣的文件,就不創建了(文件不等於文件夾)

注意:要想在某個目錄下創建內容(文件),該目錄首先必須存在。否則會報異常:

Exception in thread "main" java.io.IOException: 系統找不到指定的路徑。

//如果e:\demo不存在,則Exception in thread "main" java.io.IOException: 系統找不到指定的路徑。
File file = new File("e:\\demo\\a.txt");
file.creatNewFile();

public boolean mkdir():創建文件夾 如果存在這樣的文件夾,就不創建了

注意:要想在某個目錄下創建文件夾,該目錄首先必須存在。否則會創建失敗,方法返回false:

// File file5 = new File("e:\\test");
File file6 = new File("e:\\test\\aaa");
// System.out.println("mkdir:" + file5.mkdir());
System.out.println("mkdir:" + file6.mkdir());//false

public boolean mkdirs():創建文件夾,如果父文件夾不存在,會幫你創建出來

注意:無法創建文件,下列代碼的結果只是創建了一個名爲“a.txt"的文件夾

File file8 = new File("e:\\liuyi\\a.txt");
System.out.println("mkdirs:" + file8.mkdirs());

刪除功能:public boolean delete()

注意:要刪除一個文件夾,請注意該文件夾內不能包含文件或者文件夾


重命名功能:public boolean renameTo(File dest)

如果路徑名相同,就是改名。

如果路徑名不同,就是改名並剪切。如下:

"a.txt"剪切到"e:\\"下,並且重命名為"b.txt"

注意:前提是"e:\\"下不能已經存在"b.txt",否則返回false,重命名失敗

File file2 = new File("a.txt");
	if (!file2.exists()) {
	System.out.println(file2.createNewFile());
}

File newFile2 = new File("e:\\b.txt");
	if (!newFile2.exists()) {
	System.out.println("renameTo:" + file2.renameTo(newFile2));
}

完整代碼: 

public class FileDemo {
	public static void main(String[] args) throws IOException {
		// 創建一個文件對象
		File file2 = new File("a.txt");
		if (!file2.exists()) {
			System.out.println(file2.createNewFile());
		}
		
		// 需求:我要修改這個文件的名稱爲"b.txt"
		File newFile2 = new File("e:\\b.txt");
		if (!newFile2.exists()) {
			System.out.println("renameTo:" + file2.renameTo(newFile2));
		}else{
			//newFile2.delete();
			System.out.println("renameTo after delete:" + file2.renameTo(newFile2));
		}
	}
}

 


判斷功能:
  public boolean isDirectory():判斷是否是目錄
  public boolean isFile():判斷是否是文件
  public boolean exists():判斷是否存在
  public boolean canRead():判斷是否可讀
  public boolean canWrite():判斷是否可寫
  public boolean isHidden():判斷是否隱藏


獲取功能:
  public String getAbsolutePath():獲取絕對路徑
  public String getPath():獲取相對路徑
  public String getName():獲取名稱
  public long length():獲取長度。字節數
  public long lastModified():獲取最後一次的修改時間,毫秒值


獲取功能:
  public String[] list():獲取指定目錄下的所有文件或者文件夾的名稱數組
  public File[] listFiles():獲取指定目錄下的所有文件或者文件夾的File數組

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章