天天看點

Java中的檔案和目錄管理(上)---File類

       Java.io.File類中的File類,從JDK1.0開始就支援. 後面相繼推出的java.nio.file及java.nio.file.Files類等對file類進行了優化和改進。但目前仍有一些程式用的有java.io.file,是以仍然需要學習。Files類下一節講解。

       File類與java.io中定義的大多流式(輸入流、輸出流等)不同,File類是直接處理檔案和檔案系統的, 即沒有指定資料是怎樣從系統檔案中讀取或是寫入的。

       File類用于表示檔案或是目錄,隻表示檔案或目錄的檔案名、目錄、大小等基本資訊,不能用于檔案内容的通路。通路檔案内容可以用RandomAccessFile類和流等。

      下面是File類常用的方法:

1 .file的構造方法 ,得到的是一個指向檔案或是目錄的引用(指針),并沒有建立檔案

    File file=new File("d:\\users\\ww");   

    File file1=new File("d:/users/日記.txt");              //注意用 ‘\\’ 或是 ‘/’ 表示分隔符

    File file2=new File("d:\\users","日記.txt");    //"日記.txt"是"d:\\users"下的子目錄

2.判斷 file 是不是目錄,是不是檔案 ,存不存在

    file.isDirectory();  //file是不是個目錄 

    file.isFile();            //file是不是個檔案

    file.exists();           //file存不存在,一般在對檔案進行具體操作,比如,複制,移動的等都要先判斷是否存在

3.建立目錄、建立檔案 ,都會在磁盤上真實建立

    file.mkdir();                     //建立目錄

    file.mkdis();                    //建立多級目錄

    file3.createNewFile();   //建立檔案

具體附上代碼:

import java.io.File;
import java.io.IOException;

public class FileDemo {

	public static void main(String[] args) {
		
   File file=new File("d:\\users\\ww"); 
   File file1=new File("d:/users/www/ssw"); 
   File file2=new File("d:\\users","日記.txt");
	if(!file1.exists()){
		file1.mkdirs();   //建立檔案
	}else{
		file1.delete();   //删除檔案
	}
	 System.out.println("file1檔案是否存在:"+file1.exists()); //判斷檔案目錄是否存在true、false
	 
		//判斷是否是個目錄
		System.out.println("file1檔案是否是個目錄:"+file1.isDirectory());
		//判斷是否是個檔案
		System.out.println("file1檔案是否是個檔案:"+file1.isFile());
	
	
		if(!file2.exists()){
			try {
				file2.createNewFile(); //建立檔案
			} catch (IOException e) {
				e.printStackTrace();
			}    
		}else{
			file2.delete();  
		}
	 
		//常用的File對象的API
		System.out.println(file1);                  //列印的是檔案全路徑,即  d:\users\www\ssw
		System.out.println(file1.getName());        //列印的是子目錄(檔案)的名字 ssw
		System.out.println(file2.getName());        //日記.txt
		System.out.println(file1.getParentFile());  //d:\users\www
		System.out.println(file2.getParentFile());  //d:\users
	}

}           

運作結果:

file1檔案是否存在:true

file1檔案是否是個目錄:true

file1檔案是否是個檔案:false

d:\users\www\ssw

ssw

日記.txt

d:\users\www

d:\users