Java之FileStream的訪問文件名操作

訪問文件不包含輸入輸出流,這只是創建文件、修改文件名、檢測文件的一些操作。本文主要舉出常用實例,建議瞭解以下官方的JDK對應的版本,需要使用的時候回憶一下在去找相應的函數即可,畢竟那麼多的函數不是人人都能夠記得住的。

1、Java中凡是與輸入輸出有關的類都在Java.iO包下。

2、File是一個類,可有構造器創造其對象。

一、 官方JDK1.8 API:

1、 File的構造函數

File有以下四個構造函數 

File(File parent, String child)

從父抽象路徑名和子路徑名字符串創建新的 File實例。

File(String pathname)

通過將給定的路徑名字符串轉換爲抽象路徑名來創建新的 File實例。

File(String parent, String child)

從父路徑名字符串和子路徑名字符串創建新的 File實例。

File(URI uri)

通過將給定的 file: URI轉換爲抽象路徑名來創建新的 File實例。

2、 File的全部方法

修飾語和類型 方法和描述
boolean canExecute()

測試應用程序是否可以執行此抽象路徑名錶示的文件。

boolean canRead()

測試應用程序是否可以讀取由此抽象路徑名錶示的文件。

boolean canWrite()

測試應用程序是否可以修改由此抽象路徑名錶示的文件。

int compareTo(File pathname)

比較兩個抽象的路徑名字典。

boolean createNewFile()

當且僅當具有該名稱的文件尚不存在時,原子地創建一個由該抽象路徑名命名的新的空文件。

static File createTempFile(String prefix, String suffix)

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

static File createTempFile(String prefix, String suffix, File directory)

在指定的目錄中創建一個新的空文件,使用給定的前綴和後綴字符串生成其名稱。

boolean delete()

刪除由此抽象路徑名錶示的文件或目錄。

void deleteOnExit()

請求在虛擬機終止時刪除由此抽象路徑名錶示的文件或目錄。

boolean equals(Object obj)

測試此抽象路徑名與給定對象的相等性。

boolean exists()

測試此抽象路徑名錶示的文件或目錄是否存在。

File getAbsoluteFile()

返回此抽象路徑名的絕對形式。

String getAbsolutePath()

返回此抽象路徑名的絕對路徑名字符串。

File getCanonicalFile()

返回此抽象路徑名的規範形式。

String getCanonicalPath()

返回此抽象路徑名的規範路徑名字符串。

long getFreeSpace()

返回分區未分配的字節數 named此抽象路徑名。

String getName()

返回由此抽象路徑名錶示的文件或目錄的名稱。

String getParent()

返回此抽象路徑名的父 null的路徑名字符串,如果此路徑名未命名爲父目錄,則返回null。

File getParentFile()

返回此抽象路徑名的父,或抽象路徑名 null如果此路徑名沒有指定父目錄。

String getPath()

將此抽象路徑名轉換爲路徑名字符串。

long getTotalSpace()

通過此抽象路徑名返回分區 named的大小。

long getUsableSpace()

返回上的分區提供給該虛擬機的字節數 named此抽象路徑名。

int hashCode()

計算此抽象路徑名的哈希碼。

boolean isAbsolute()

測試這個抽象路徑名是否是絕對的。

boolean isDirectory()

測試此抽象路徑名錶示的文件是否爲目錄。

boolean isFile()

測試此抽象路徑名錶示的文件是否爲普通文件。

boolean isHidden()

測試此抽象路徑名命名的文件是否爲隱藏文件。

long lastModified()

返回此抽象路徑名錶示的文件上次修改的時間。

long length()

返回由此抽象路徑名錶示的文件的長度。

String[] list()

返回一個字符串數組,命名由此抽象路徑名錶示的目錄中的文件和目錄。

String[] list(FilenameFilter filter)

返回一個字符串數組,命名由此抽象路徑名錶示的目錄中滿足指定過濾器的文件和目錄。

File[] listFiles()

返回一個抽象路徑名數組,表示由該抽象路徑名錶示的目錄中的文件。

File[] listFiles(FileFilter filter)

返回一個抽象路徑名數組,表示由此抽象路徑名錶示的滿足指定過濾器的目錄中的文件和目錄。

File[] listFiles(FilenameFilter filter)

返回一個抽象路徑名數組,表示由此抽象路徑名錶示的滿足指定過濾器的目錄中的文件和目錄。

static File[] listRoots()

列出可用的文件系統根。

boolean mkdir()

創建由此抽象路徑名命名的目錄。

boolean mkdirs()

創建由此抽象路徑名命名的目錄,包括任何必需但不存在的父目錄。

boolean renameTo(File dest)

重命名由此抽象路徑名錶示的文件。

boolean setExecutable(boolean executable)

爲此抽象路徑名設置所有者的執行權限的便利方法。

boolean setExecutable(boolean executable, boolean ownerOnly)

設置該抽象路徑名的所有者或每個人的執行權限。

boolean setLastModified(long time)

設置由此抽象路徑名命名的文件或目錄的最後修改時間。

boolean setReadable(boolean readable)

一種方便的方法來設置所有者對此抽象路徑名的讀取權限。

boolean setReadable(boolean readable, boolean ownerOnly)

設置此抽象路徑名的所有者或每個人的讀取權限。

boolean setReadOnly()

標記由此抽象路徑名命名的文件或目錄,以便只允許讀取操作。

boolean setWritable(boolean writable)

一種方便的方法來設置所有者對此抽象路徑名的寫入權限。

boolean setWritable(boolean writable, boolean ownerOnly)

設置此抽象路徑名的所有者或每個人的寫入權限。

Path toPath()

返回從此抽象路徑構造的java.nio.file.Path對象。

String toString()

返回此抽象路徑名的路徑名字符串。

URI toURI()

構造一個表示此抽象路徑名的 file: URI。

URL toURL()已棄用

此方法不會自動轉義URL中非法的字符。 建議在新的代碼轉換的抽象路徑到URL通過先轉換成URI,經由toURI方法,然後經由轉換URI爲URL URI.toURL方法。

二、 實例


import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.UUID;


public class TestFileStream {
    private static final String FILE_PATH = "./src/IOStream";
    private static String newFileName = UUID.randomUUID().toString() + ".txt";
    private static final String FILE_NAME = "HelloWorld.txt";
    // 訪問文件名操作
    public static void test1() {
        File file = new File(FILE_PATH + "/" + FILE_NAME);
        File file2 = new File(FILE_PATH + "/" + newFileName);
        Boolean isCreate = false;
        Boolean isRename = false;
        Boolean isDelete = false;
        try {
            if (!file.exists())
                isCreate = file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
        isRename = file.renameTo(file2);
        isDelete = file.delete();   // false
//        isDelete = file2.delete(); // true
        System.out.println("成功在" + file2.getPath() + "創建文件:" + file2.getName());
        System.out.println("isCreate:"+isCreate);
        System.out.println("isRename:"+isRename);
        System.out.println("isDelete:"+isDelete);
        System.out.println("HashCode:" + file.hashCode());
        System.out.println("AbsoluteFile:" + file.getAbsoluteFile());
        System.out.println("AbsolutePath:" + file.getAbsolutePath());
        System.out.println("Parent:" + file.getParent());
    }
    // File文件檢測
    public static void test2(){
        File file = new File(FILE_PATH+ "/"+FILE_NAME);
        try {
            if (!file.exists())
                    file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.println(file.length());
        System.out.println(file.canWrite());
        System.out.println(file.isDirectory());
        System.out.println(new Date(file.lastModified()));
        System.out.println(file.mkdir());

    }
    public static void main(String[] args) {
        test1();
        test2();
    }
}

 

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