您的位置:首页 > 编程语言 > Java开发

Java IO学习笔记(一):File类

2014-07-17 11:57 429 查看
转自:/article/6177153.html



在读写数据之前,让我先看一个实用类库工具,它可以帮我们处理文件的目录问题。下面学习File类工具类

在整个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进行分割

自己以前在window上写的程序,然后运行在linux下的是时候就是因为路径分隔符的问题,运行出错,然后修改分隔符以后就正常啦,要是直接使用FIle.seoatator的话应该就不会报错啦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: