Java IO:File類

轉:http://www.cnblogs.com/lich/archive/2011/12/10/2283445.html


在整個IO包了,唯一表示與文件本身有關的類就是File類。使用File類可以進行1創建或刪除文件等常用操作。要想使用File類。則首先要觀察File類的構造方法,此類的常用構造方法如下所示:

public File(String pathname)  實例化File類的時候,必須設置好路徑

No.

方法或常量

類型

描述

1

public static final String pathSeparator

常量

表示路徑的分隔符(windows是“;”)

2

public static final String separator

常量

表示路徑的分隔符(windows是“\”)

3

public File(String pathname)

構造

創建File類對象,傳入完整路徑

4

public boolean createNewFile()throws IOException

普通

創建新文件

5

public boolean delete()

普通

刪除文件

6

public boolean exists()

普通

判斷文件是否存在

7

public boolean isDirectory()

普通

判斷給定的路徑是否在一個目錄

8

public long length()

普通

返回文件的大小

9

public String[] list()

普通

列出指定目錄的全部內容,只是名稱

10

public File[] listFiles()

普通

列出指定目錄的全部內容,會有路徑

11

Public Boolean mkdir()

普通

創建一個目錄

12

Public Boolean renameTo(File dest)

普通

爲已有的文件重命名

 

實例操作一:創建一個新文件

在D盤創建一個test.txt文件

import java.io.File;
import java.io.IOException;

public class Test1 {
    public static void main(String[] args) {
        File f=new File("d:"+File.separator+"test.txt");//爲增加可移植性,建議使用File.separator
        try {
            f.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

實例操作二:刪除一個指定文件

刪除剛剛創建的test.txt文件

import java.io.File;

public class Test2 {
    public static void main(String[] args) {
        File f=new File("d:"+File.separator+"test.txt");
        if(f.exists()){//判斷文件存不存在,如不存在就不用刪除了
            f.delete();
        }
    }
}

實例操作三:綜合創建,刪除文件的操作

給定一個路徑,如果此文件存在,則刪除,如果不存在,則創建

import java.io.File;
import java.io.IOException;

public class Test3 {
    public static void main(String[] args) {
        File f=new File("d:"+File.separator+"test.txt");
        if(f.exists()){
            f.delete();
        }else{
            try {
                f.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

實例操作四:創建一個文件夾

使用mkdir()方法創建一個文件夾

mkdir()創建此抽象路徑名稱指定的目錄(及只能創建一級的目錄,且需要存在父目錄)

mkdirs()創建此抽象路徑指定的目錄,包括所有必須但不存在的父目錄。(及可以創建多級目錄,無論是否存在父目錄)


import java.io.File;

public class Test4 {
    public static void main(String[] args) {
        File f=new File("d:"+File.separator+"test");
        f.mkdir();//創建文件夾
    }
}

實例操作五:列出指定目錄的全部文件

如果現在給出了一個目錄,則可以直接列出目錄中的內容。但是列出的方法在File類中存在兩個:

  • 以字符串數組的形式返回:public String[] list()
  • 以File數組的形式返回:public File[] listFiles()

操作一:使用list()列出全部內容

import java.io.File;

public class Test5 {
    public static void main(String[] args) {
        File f=new File("d:"+File.separator);
        String[] str=f.list();
        for(String s:str){
            System.out.println(s);
        }
    }
}

以上列出了全部的名字,包括文件夾得名字和文件的名字。

操作二:使用listFiles()列出

import java.io.File;

public class Test6 {
    public static void main(String[] args) {
        File f=new File("d:"+File.separator);
        File[] files=f.listFiles();
        for(File file:files){
            System.out.println(file);
        }
    }
}

以上列出了完全路徑。

實例操作六:判斷一個給定的路徑是否目錄

給定路徑,判斷是否是目錄

import java.io.File;

public class Test7 {
    public static void main(String[] args) {
        File f=new File("d:"+File.separator);
        if(f.isDirectory()){
            System.out.println(f.getPath()+"是目錄");
        }else{
            System.out.println(f.getPath()+"不是目錄");
        }
    }
}

實例操作七:列出指定目錄的全部內容

如果給定了一個目錄,則要求把此目錄中的全部文件都列出來,包括子文件夾下的文件

import java.io.File;

public class Test8 {
    public static void main(String[] args) {
        File f = new File("d:" + File.separator);
        print(f);
    }
    public static void print(File f) {
        if (f != null) {
            if (f.isDirectory()) {
                File[] files = f.listFiles();
                if (files != null) {
                    for (File file : files) {
                            print(file);
                    }
                }
            } else {
                System.out.println(f);
            }
        }
    }
}

總結:

  1. File類是在java.io包中唯一與文件本身有關的
  2. 可以使用File類創建、刪除等常見的文件操作
  3. 在使用File類指定路徑的時候一定要注意操作系統間的差異,儘量使用separator進行分割











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