Java 檔案(File)類

來源:互聯網
上載者:User

標籤:輸出資料流   throw   lin   for   電腦   輸出   void   java   9.png   

file類 的作用

    1.用於將檔案或者檔案夾封裝成對象

    2.方便對檔案與檔案夾進行操作

    3.方便輸入輸出資料流的檔案傳輸

一、建立檔案對象,將已有的和未出現的檔案或者檔案夾封裝成對象。

這四種方法都將C盤下的1.Java檔案封裝成對象。

二、file對象的判斷

可以new file 可以建立已有的檔案對象,也可以建立未存在的檔案對象,那怎麼去判斷到底存不存在呢?

package com.neuedu.demo01;import java.io.File;/* * 檔案類的使用 */public class fileDemo {    public static void main(String[] args) {        File f1=new File("E:\\learnJava\\hello.txt");        System.out.println(f1.exists());//判斷檔案或目錄是否存在        System.out.println(f1.isDirectory());//判斷檔案對象表示的是否是一個目錄        System.out.println(f1.isFile());//判斷檔案對象表示的是否是一個檔案        System.out.println(f1.isAbsolute());//判斷檔案對象是否是一個絕對路徑        System.out.println(f1.isHidden());//判斷檔案對象是否是隱藏檔案    }}
三、檔案的建立和刪除

file類提供了一些方法,能夠在電腦上常見和刪除檔案或者目錄

package com.neuedu.demo01;import java.io.File;import java.io.IOException;/* * 檔案類的使用 *  */public class fileDemo {    public static void main(String[] args) {        File f1=new File("E:\\learnJava\\hello.txt");//一個檔案        File f2=new File("E:\\learnJava\\hello");//一個目錄                if (f1.exists()) {//檔案檔案已經存在            f1.delete();  //則將已經存在的檔案刪除        }else {            try {                f1.createNewFile();  //如果不存在,則建立出來            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }        if (!f2.exists()) {//如果目錄不存在            f2.mkdir();     //建立目錄  f2.mkdirs();   建立多級目錄          }else {            f2.delete();        }    }}
四、File相關get方法

package com.neuedu.demo01;import java.io.File;import java.io.IOException;/* * 檔案類的使用 *  */public class fileDemo {    public static void main(String[] args) {        File f1=new File("E:\\learnJava\\hello.txt");//一個檔案        File f2=new File("E:\\learnJava\\hello");//一個目錄        System.out.println(f1.getAbsolutePath());//擷取檔案對象的絕對路徑,返回的是File對象----E:\learnJava\hello.txt        System.out.println(f1.getAbsoluteFile());//擷取檔案對象的絕對路徑,返回的是string-----E:\learnJava\hello.txt        System.out.println(f1.getName());//擷取檔案對象的檔案名稱或者是目錄名----hello.txt        System.out.println(f1.getParent());//擷取檔案對象的父目錄,返回的是string----E:\learnJava        System.out.println(f1.getParentFile());//擷取檔案對象的父目錄檔案對象,返回的是File對象----E:\learnJava        try {            System.out.println(f1.getCanonicalPath());  //擷取檔案對象的規範路徑名----E:\learnJava\hello.txt            System.out.println(f1.getAbsoluteFile());   //擷取檔案對象的規範路徑形式,返回file對象----E:\learnJava\hello.txt        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }       System.out.println(f1.getPath()); ///擷取檔案路徑E:\learnJava\hello.txt                }}
五、遞迴檔案目錄

通過list()返迴文件目錄中的檔案和目錄,返回的是字串

通過listFile()返迴文件目錄中的檔案和目錄,返回的是檔案對象

package com.neuedu.FileUtils;import java.io.File;import java.io.IOException;/** *  * @author wzc * 列出File的一些常用操作 */public class FileUtils {         /**     * 列出指定目錄下及子目錄下的所有檔案     * @param dir     * @throws IOException     */    public static void listDirectory(File dir)throws IOException{        //判斷目錄是否存在        if (!dir.exists()) {            throw new IllegalArgumentException("目錄"+dir+"不存在");        }        //判斷File dir是否是目錄        if (!dir.isDirectory()) {            throw new IllegalArgumentException(dir+"不是目錄");        }        /*String[] list = dir.list();  //列出檔案中的檔案或者目錄,不包括子目錄下的        for (String string : list) {            System.out.println(string);        }*/        //如果需要遍曆子目錄下的內容就需要構造成對象,繼續遞迴s        File[] files = dir.listFiles();//返回直接子目錄對象        /*for (File file2 : files) {            System.out.println(file);        }*/        if (files!=null && files.length>0) {            for (File file : files) {                if (file.isDirectory()) {//如果子檔案是目錄                    //遞迴                    listDirectory(file);                }else{                    System.out.println(file);//如果是檔案則輸出                }                    }        }    }}

Java 檔案(File)類

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.