1. 程式人生 > >JavaI/O:File類的常用方法

JavaI/O:File類的常用方法

全部 簡單介紹 所在 mkdir lists 存儲 dir efi 跨平臺

File類是io包中唯一代表磁盤文件本身的對象。File類定義了一些與平臺無關的方法來操作文件,可以通過調用File類中的方法,實現創建、刪除、重命名文件等。File類的對象主要用來獲取文件本身的一些信息,如文件所在目錄、文件的長度、文件讀寫權限等。數據流可以將數據寫入到文件中,而文件也是數據流最常用的數據媒體。

Java File類的功能非常強大,利用java基本上可以對文件進行所有操作。文本將對Java File 文件操作的類詳細的分析,並將File類中的常用方法進行簡單介紹。

使用createNewFile()創建文件

File file1 = new File("test1.txt");
        file1.createNewFile();

File類中的mkdir和mkdir的區別

mkdirs()可以建立多級文件夾,?mkdir()只會建立一級的文件夾


        File file2 = new File("D:\\cmz\\test2");
        file2.mkdir();
        File file3 = new File("D:\\cmz\\test2\\test3.txt");
        file3.mkdirs();

File.separator方法

在Windows下的路徑分隔符(\)和在Linux下的路徑分隔符(/)是不一樣的,當直接使用絕對路徑時,跨平臺會報No Such file or diretory異常。

File中還有幾個與separator類似的靜態常量,與系統有關,在編程中應盡量使用。

File test = new File("D:");
        String strFile = File.separator+"cmz"+test.separator+"test2"+test.separator+"test4.txt";
        File file4 = new File(test,strFile);
        file4.createNewFile();
        file4.delete();

File.deleteOnExit和File.createTempFile

File.createTempFile是在默認臨時文件目錄中創建一個空文件,使用給定前綴和後綴生成其名稱

File.delete無需解釋,為直接刪除,deleteOnExit解釋為:在虛擬機終止時,請求刪除此抽象路徑名表示的文件或目錄

for(int i=0;i<5;i++)
        {
            File f=File.createTempFile("chengshit39",".tmp");

            f.deleteOnExit();
        }
        Thread.sleep(9000);

File.list 和File.lists:

list()方法 : 會返回一個字符數組,將制定路徑下的文件或文件夾名字存儲到String數組中。因為其返回的是一個String類型的數組,所以它也就只是一個名字而已(後面要講到的listFiles()及其重載方法則不同,它們返回的是File類型的對象,所以具有其全部的屬性和方法)。有以下兩種重載方式:

1)、String[] ?list()

2)、String[] ?list(FilenameFilter filter)

而listFiles()方法返回的是一個File類的引用,它具有類的所有屬性和方法,比如:String?getName()方法就能夠返回該文件的String類型的文件名(名字而已)。

因此,遍歷文件夾中所有文件,包括子文件夾中的文件時,必須用listFiles()方法


File file=new File("D:\\cmz\\test2");

        System.out.println("list()方法遍歷的結果:");
        String[] strings=file.list();
        for (String string : strings) {
            System.out.println(string);
        }
        System.out.println();

        System.out.println("listFiles()方法遍歷的結果:");
        File[] files=file.listFiles();
        for (File file2 : files) {
            System.out.println(file2);
        }

JavaI/O:File類的常用方法