深入瞭解Java I/O 之File類

File類

Java使用File類來表示計算機系統磁盤文件的對象類型。File類中提供瞭大量的方法,可以對文件進行增加、修改、刪除、重命名等常規操作。File類的對象會村春文件自身的信息,例如文件在系統中的存儲目錄、文件大小、文件讀寫權限等。

創建File文件

File類中提供瞭以下幾個構造方式來創建File對象。

File(String pathname)

File file=new File(“d:/Test/file01.txt”);

File(String parent,String child)

File file1=new File(“d:/”,“Test/file01.txt”);

File(File f,String child)

File(URI uri)

File文件基本操作

File類中提供瞭操作文件的方法,也可以直接對文件夾進行操作。文件的常見操作有:判斷文件是否存在、創建和重命名文件、刪除文件和獲取文件基本信息。

package com.IO.demo01;
import java.io.*;

/**
 * File類
 */
public class Demo06 {
    public static void main(String[] args) {
        try {
            File file = new File("Data01.json");
            System.out.println("創建文件Data01.json");
            System.out.println("是否創建成功:"+file.createNewFile());
            System.out.println("文件是否為絕對路徑:"+file.isAbsolute());
            System.out.println("文件是否可讀:"+file.canRead());
            System.out.println("修改文件名稱為:Data02.json,是否成功:"+file.renameTo(new File("Data02.json")));
        } catch (Exception e) {
            System.out.println("系統發生異常:"+e.getMessage());
        }
    }
}

運行結果:

1

File類也支持對文件夾的操作。對文件夾的操作一般有創建文件夾、刪除文件夾、判斷文件夾是否存在、獲取文件夾信息等。

package com.IO.demo01;
import java.io.File;

/**
 * 讀取目錄下的文件和目錄
 */
public class Demo07 {
    public static void main(String[] args) {
        String dirName="jjjjava";
        File file = new File("d:/"+dirName);
        if(file.isDirectory()){
            System.out.println("訪問目錄"+dirName);
            String[]s=file.list();
            for (int i = 0; i < s.length; i++) {
                File tempFile = new File("d:/" + dirName + "/" + s[i]);
                if(tempFile.isDirectory()){
                    System.out.println(s[i]+"是一個目錄");
                }else{
                    System.out.println(s[i]+"是一個文件");
                }


            }
        }else{
            System.out.println(dirName+"不是一個目錄");
        }
    }
}

在上面的示例中,在相對路徑下創建瞭兩個文件夾“/a”、“/b”以及一個文件“c.txt”。

運行結果為:

2

package com.IO.demo01;
import java.io.File;

/**
 * File類刪除操作
 * @author ZpF
 */
public class Demo08 {
    public static void main(String[] args) {
        File file = new File("java");
        System.out.println("創建文件夾java:"+file.mkdir());
        file =new File("java/dir");
        System.out.println("創建文件夾java/dir:"+file.mkdir());
        File floder = new File("java");
        deleteFloder(floder);


    }
    public static void deleteFloder(File floder){
        File[]files=floder.listFiles();
        if(files!=null){
            for (File f : files) {
                if (f.isDirectory()){
                    deleteFloder(f);//遞歸調用
                }else{
                    System.out.println("刪除文件"+f.getName()+"是否成功:"+f.delete());//刪除文件
                }

            }
        }
        System.out.println("刪除文件"+floder.getName()+"是否成功:"+floder.delete());//刪除文件夾
    }
}

運行結果為:

3

總結

本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: