IO:File类

ε祈祈猫儿з 提交于 2020-03-03 16:54:43

在整个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进行分割
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!