文章目錄
- 執行個體操作一:建立一個新檔案
- 執行個體操作二:刪除一個指定檔案
- 執行個體操作三:綜合建立,刪除檔案的操作
- 執行個體操作四:建立一個檔案夾
- 執行個體操作五:列出指定目錄的全部檔案
- 執行個體操作六:判斷一個給定的路徑是否目錄
- 執行個體操作七:列出指定目錄的全部內容
在整個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檔案
1 import java.io.File;
2 import java.io.IOException;
3
4 public class Test1 {
5 public static void main(String[] args) {
6 File f=new File("d:"+File.separator+"test.txt");//為增加可移植性,建議使用File.separator
7 try {
8 f.createNewFile();
9 } catch (IOException e) {
10 e.printStackTrace();
11 }
12 }
13 }
執行個體操作二:刪除一個指定檔案
刪除剛剛建立的test.txt檔案
1 import java.io.File;
2
3 public class Test2 {
4 public static void main(String[] args) {
5 File f=new File("d:"+File.separator+"test.txt");
6 if(f.exists()){//判斷檔案存不存在,如不存在就不用刪除了
7 f.delete();
8 }
9 }
10 }
執行個體操作三:綜合建立,刪除檔案的操作
給定一個路徑,如果此檔案存在,則刪除,如果不存在,則建立
1 import java.io.File;
2 import java.io.IOException;
3
4 public class Test3 {
5 public static void main(String[] args) {
6 File f=new File("d:"+File.separator+"test.txt");
7 if(f.exists()){
8 f.delete();
9 }else{
10 try {
11 f.createNewFile();
12 } catch (IOException e) {
13 e.printStackTrace();
14 }
15 }
16 }
17 }
執行個體操作四:建立一個檔案夾
使用mkdir()方法建立一個檔案夾
1 import java.io.File;
2
3 public class Test4 {
4 public static void main(String[] args) {
5 File f=new File("d:"+File.separator+"test");
6 f.mkdir();//建立檔案夾
7 }
8 }
執行個體操作五:列出指定目錄的全部檔案
如果現在給出了一個目錄,則可以直接列出目錄中的內容。但是列出的方法在File類中存在兩個:
- 以字串數組的形式返回:public String[] list()
- 以File數組的形式返回:public File[] listFiles()
操作一:使用list()列出全部內容
1 import java.io.File;
2
3 public class Test5 {
4 public static void main(String[] args) {
5 File f=new File("d:"+File.separator);
6 String[] str=f.list();
7 for(String s:str){
8 System.out.println(s);
9 }
10 }
11 }
以上列出了全部的名字,包括檔案夾得名字和檔案的名字。
操作二:使用listFiles()列出
1 import java.io.File;
2
3 public class Test6 {
4 public static void main(String[] args) {
5 File f=new File("d:"+File.separator);
6 File[] files=f.listFiles();
7 for(File file:files){
8 System.out.println(file);
9 }
10 }
11 }
以上列出了完全路徑。
執行個體操作六:判斷一個給定的路徑是否目錄
給定路徑,判斷是否是目錄
1 import java.io.File;
2
3 public class Test7 {
4 public static void main(String[] args) {
5 File f=new File("d:"+File.separator);
6 if(f.isDirectory()){
7 System.out.println(f.getPath()+"是目錄");
8 }else{
9 System.out.println(f.getPath()+"不是目錄");
10 }
11 }
12 }
執行個體操作七:列出指定目錄的全部內容
如果給定了一個目錄,則要求把此目錄中的全部檔案都列出來,包括子檔案夾下的檔案
1 import java.io.File;
2
3 public class Test8 {
4 public static void main(String[] args) {
5 File f = new File("d:" + File.separator);
6 print(f);
7 }
8 public static void print(File f) {
9 if (f != null) {
10 if (f.isDirectory()) {
11 File[] files = f.listFiles();
12 if (files != null) {
13 for (File file : files) {
14 print(file);
15 }
16 }
17 } else {
18 System.out.println(f);
19 }
20 }
21 }
22 }
總結:
- File類是在java.io包中唯一與檔案本身有關的
- 可以使用File類建立、刪除等常見的檔案操作
- 在使用File類指定路徑的時候一定要注意作業系統間的差異,盡量使用separator進行分割