當前位置 : IT培訓網 > Java開發 > Java教程 > Java編程開發中文件與目錄管理

Java編程開發中文件與目錄管理

時間:2016-08-31 14:12:19??來源:Java培訓網??作者:IT培訓網??已有:名學員訪問該課程
標簽(Tag):?? java(710)File(14)
每個 File 類對象表示一個磁盤文件或目錄,其對象屬性中包含了文件或目錄的相關信息。通過調用 File 類提供的各種方法,能夠創建、刪除、重名名文件、判斷文件的讀寫權限以及是否存在,設置和查詢文件的最近修改時間等。不

在Java語言中,該如何管理文件與目錄呢,做好這些有什么好處呢,其實文件和目錄都是讓我們簡化工作,方便管理文件的一個有效方式,下面就讓達內IT培訓網小編來給大家詳細介紹下如何實現Java中文件與目錄的管理吧!

目錄是管理文件的特殊機制,同類文件保存在同一個目錄下不僅可以簡化文件管理,而且還可以提高工作效率。Java 語言在 java.io 包中定義了一個 File 類專門用來管理磁盤文件和目錄。

每個 File 類對象表示一個磁盤文件或目錄,其對象屬性中包含了文件或目錄的相關信息。通過調用 File 類提供的各種方法,能夠創建、刪除、重名名文件、判斷文件的讀寫權限以及是否存在,設置和查詢文件的最近修改時間等。不同操作系統具有不同的文件系統組織方式,通過使用 File 類對象,Java 程序可以用與平臺無關的、統一的方式來處理文件和目錄。

創建 File 類的對象

創建 File 類對象需要給出其所對應的文件名或目錄名,File 類的構造方法如表 10-9 所示。

表 10-9 File 類的構造方法

構造方法

功能描述

public File(String path)

指定與 File 對象關聯的文件或目錄名,path 可以包含路徑及文件和目錄名

public File(String path, String name)

以 path 為路徑,以 name 為文件或目錄名創建 File 對象

public File(File dir, String name)

用現有的 File 對象 dir 作為目錄,以 name 作為文件或目錄名創建 File 對象

public File(UR ui)

使用給定的統一資源定位符來定位文件

在使用 File 類的構造方法時,需要注意下面幾點:

(1)path 參數可以是絕對路徑,也可以是相對路徑,也可以是磁盤上的某個目錄。

( 2)由于不同操作系統使用的目錄分隔符不同,可以使用 System 類的一個靜態變量System.dirSep,來實現在不同操作系統下都通用的路徑。如:

    "d:"+System.dirSep+"myjava"+System.dirSep+"file"

獲取屬性和操作

借助 File 對象,可以獲取文件和相關目錄的屬性信息并可以對其進行管理和操作。表 10-10列出了其常用的方法及說明。

表 10-10 File 的常用方法

方法

功能描述

boolean canRead()

如果文件可讀,返回真,否則返回假

boolean canWrite()

如果文件可寫,返回真,否則返回假

boolean exists()

判斷文件或目錄是否存在

boolean createNewFile()

若文件不存在,則創建指定名字的空文件,并返回真,若不存在返回假

boolean isFile()

判斷對象是否代表有效文件

boolean isDirectory()

判斷對象是否代表有效目錄

boolean equals(File f)

比較兩個文件或目錄是否相同

string getName()

返回文件名或目錄名的字符串

string getPath()

返回文件或目錄路徑的字符串

long length()

返回文件的字節數,若 File 對象代表目錄,則返回 0

long lastModified()

返回文件或目錄最近一次修改的時間

String[] list()

將目錄中所有文件名保存在字符串數組中并返回,若 File 對象不是目錄返回 null

boolean delete()

刪除文件或目錄,必須是空目錄才能刪除,刪除成功返回真,否則返回假

boolean mkdir()

創建當前目錄的子目錄,成功返回真,否則返回假

boolean renameTo(File newFile)

將文件重命名為指定的文件名

【例 10-11】判斷輸入的絕對路徑是代表一個文件或一個目錄。若是文件輸出此文件的絕對路徑,并判斷此文件的文件屬性(是否可讀寫或隱藏);若是目錄則輸出該目錄下所有文件(不包括隱藏文件)(查看源代碼)。

//********** ep10_11.java **********

import java.io.*;

class ep10_11{

    public static void main(String args[]) throws IOException{

        String FilePath;

        InputStreamReader in=new InputStreamReader(System.in);

        BufferedReader a=new BufferedReader(in);

        System.out.println("請輸入一個絕對路徑:");

        FilePath=a.readLine();  //將 FilePath 作為輸入值

        File FileName=new File(FilePath);  //獲得此路徑的文件名稱

        if (FileName.isDirectory()){  //判斷此文件是否為目錄

            System.out.println((FileName.getName())+"為一個目錄");

            System.out.println("================");

            File FileList[]=FileName.listFiles();  //將目錄下所有文件存入數組

            for(int i=0;i<FileList.length;i++){

                if(FileList[i].isHidden()==false){  //判斷是否為隱藏文件

                    System.out.println(FileList[i].getName());  //輸出非隱藏文件

                }

            }

        }

        else{

            System.out.println((FileName.getName())+"為一個文件");

            System.out.println("================");

            //獲得文件絕對路徑

            System.out.println("絕對路徑為:"+FileName.getAbsolutePath());

            //判斷此文件是否可讀取

            System.out.println(FileName.canRead()?"可讀取":"不可讀取");

            //判斷此文件是否可修改

            System.out.println(FileName.canWrite()?"可修改":"不可修改");

            //判斷此文件是否為隱藏

            System.out.println(FileName.isHidden()?"為隱藏文件":"非隱藏文件");

        }

    }

}

運行結果如圖 10-11 所示:

Java編程開發中文件與目錄管理_www.straightshotcamera.com

圖 10-11  輸入一個文件路徑后例 10_11 的運行結果

頂一下
(1)
100%
踩一下
(0)
0%
------分隔線----------------------------
------分隔線----------------------------
Java教程
1、Java 概述
1.1 Java語言概述
1.2 Java虛擬機以及跨平臺原理
1.3 Java的主要就業方向
1.4 Java的不同版本
1.5 Java開發環境搭建
1.6 第一個Java程序示例
1.7 Java類和對象的概念
1.8 Java類庫及其組織結構
1.9 Java import
2、Java 語法基礎
2.1 Java數據類型以及變量的定義
2.2 Java數據類型轉換
2.3 Java運算符
2.4 Java流程控制
2.5 Java數組的定義和使用
2.6 Java字符串(String)
2.7 Java StringBuffer與StringBuider
2.8 強調一下編程風格
3、Java 類與對象
3.1 Java類的定義及其實例化
3.2 Java訪問修飾符
3.3 Java變量的作用域
3.4 Java this關鍵字詳解
3.5 Java方法重載
3.6 Java類的基本運行順序
3.7 Java包裝類、拆箱和裝箱詳解
3.8 再談Java包
3.9 源文件的聲明規則
4、Java 繼承和多態
4.1 繼承的概念與實現
4.2 Java super關鍵字
4.3 繼承中的方法的覆蓋和重載
4.4 多態和動態綁定
4.5 instanceof 運算符
4.6 多態對象的類型轉換
4.7 Java static關鍵字
4.8 Java final關鍵字
4.9 Java Object類
5、面向對象高級特性
5.1 Java內部類及其實例化
5.2 內部類的分類
5.3 抽象類的概念和使用
5.4 接口的概念和使用
5.5 接口和抽象類的區別
5.6 Java 泛型
5.7 泛型通配符和類型參數的范圍
6、異常處理
6.1 異常處理基礎
6.2 異常類型Java語言中常見的異常類型有哪些
6.3 未被捕獲的異常
6.4 try和catch的使用
6.5 多重catch語句的使用
6.6 try語句的嵌套
6.7 throw:異常的拋出
6.8 throws子句
6.9 finally塊
6.10 Java的內置異常
6.11 創建自己的異常子類
6.12 斷言
7、線程編程
7.1 線程的概念
7.2 Java線程模型
7.3 主線程
7.4 創建線程
7.5 創建多線程
7.6 isAlive()和join()的使用
7.7 線程優先級
7.8 線程同步
7.9 線程間通信
7.10 線程死鎖
7.11 線程的掛起、恢復和終止
8、輸入輸出(IO)操作
8.1 輸入輸出基本概念
8.2 面向字符的輸入流
8.3 面向字符的輸出流
8.4 面向字節的輸入輸出流
8.5 面向字節流的應用
8.6 文件與目錄管理
8.7 文件的隨機讀寫
8.8 文件的壓縮處理
9、常用類庫、向量與哈希
9.1 Java基礎類庫
9.2 Object類
9.3 Java語言包(java.lang)簡介
9.4 日期和時間類
9.5 向量及其應用
9.6 哈希表及其應用
10、圖形界面(GUI)設計
10.1 圖形界面設計基礎
10.2 框架窗口
10.3 標簽、按鈕和按鈕事件
10.4 面板
10.5 布局設計
10.6 文本框和文本區
10.7 文本框和文本區的輸入輸出
10.8 選擇框和單選按鈕
10.9 列表和組合框
10.10 菜單
10.11 對話框
10.12 滾動條
10.13 鼠標事件
10.14 鍵盤事件
11、圖形、圖像與多媒體
11.1 繪圖基礎
11.2 設置字型和顏色
11.3 繪圖模式
11.4 Graphics類的繪圖方法
11.5 Graphics2D類的繪圖方法
11.6 圖像處理基礎
11.7 圖像緩沖技術
11.8 多媒體基礎
12、網絡與數據庫編程
12.1 IP地址和InetAddress類
12.2 統一資源定位符
12.3 套接字(Socket)
12.4 數據庫連接
12.5 幾個重要的類和接口
12.6 數據庫查詢
12.7 數據庫更新
12.8 插入記錄
12.9 修改記錄
12.10 刪除記錄
激情色播