Java IO學習筆記(一):File類

來源:互聯網
上載者:User
文章目錄
  • 執行個體操作一:建立一個新檔案
  • 執行個體操作二:刪除一個指定檔案
  • 執行個體操作三:綜合建立,刪除檔案的操作
  • 執行個體操作四:建立一個檔案夾
  • 執行個體操作五:列出指定目錄的全部檔案
  • 執行個體操作六:判斷一個給定的路徑是否目錄
  • 執行個體操作七:列出指定目錄的全部內容

在整個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 }

總結:

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.