File类的使用
在学习File类之前,我们需要知道一个知识点的概念、有什么用、需要掌握的东西以及学完后我能做出什么东西出来等。
所以后面的章节也会以这几个点来作为主要的讲解。
1.File类的概念
如果要说File类的概念的话,那就是他是在java.io包下的一个类。
2.用途
通过File类,我们可以使用Java来新建、删除或者重命名文件和文件夹(注意是两个都可以),但是File类是不能够访问文件里面的内容的,如果需要访问文件本身的内容,则需要使用I/O流来实现。,这也是为什么我们需要先学习文件File类再学习I/O流的一个原因,因为只有获取到文件,才能访问文件里的内容。
3.学完后我能做出什么东西
对于初学者来说,我们不需要要求很高,只需要学会 创建文件对象后获取其计本信息,比如文件名、是否是文件、创建文件等等即可,特别是需要掌握的内容表格。(稍后会通过案例讲解)
4.需要掌握的内容
File类中我们需要掌握的内容也不是很复杂,只需要掌握Filie中操作文件或目录的常用方法即可。如下:
序号 | 方法 | 说明 |
---|---|---|
1 | Boolean exists() | 判断File对象所对应的文件或目录是否存在 |
2 | Boolean createNewFile() | 一般情况下,通过上面的exits()方法判断后如果不存在,则会创建一个该File对象所对应的文件。 |
3 | Boolean delete() | 删除File对象所对应的文件或路径 |
4 | Boolean getPath() | 获取文件或路径名 |
5 | Boolean getAbsolutePath() | 获取File对象所对应的绝对路径名 |
6 | Boolean isFile() | 判断File对象所对应的是否是文件 |
7 | Boolean isDirectory() | 判断File对象所对应的是否是目录 |
8 | Boolean mkdir() | 创建一个单目录 |
9 | Boolean mkdirs() | 创建多级目录 |
10 | Long length() | 返回文件内容长度 |
11 | File[] listFiles() | 返回File对象的所有子文件和目录(返回的是一个File数组) |
12 | String[] list() | 返回File对象的所有子文件和目录(返回的是一个String数组) |
在学习过程中,最好的方法就是看书之后、了解知识点之后马上实战,那么这些看起来难懂(对于初学者来说)的东西我们要如何去运用和实现呢?接下来就是第五个部分——实践。
5.实践
为了能够让大家理解和掌握这些概念,我建议大家跟着这个代码一起敲一遍。而且在学习过程中,最好是带着问题去实践,这些题目可以在网络上找,也可以看一些有练习的书,或者让懂的人来给你出也可以,比如老师和同学。那么接下来和大家一起看几个案例。
5.1 案例一 创建文件和相关基操(基本操作的意思)
- 创建一个File对象(需要指定路径),并判断该文件是否存在,如果不存在,则创建一个。
2.获取文件名、文件所对应的路径、绝对路径、文件大小和判断file对象是否是文件对象
3.删除文件
这个还是挺好理解的,直接从上面的方法中获取即可,那么不懂得同学可以马上看一下代码, 然后凭借记忆敲。
//这段代码写在main方法里
//1.创建File对象并指定路径 这里我们D盘里原本是没有happy.txt的
File file = new File("D:\\happy.txt");
//2.判断文件是否存在 !代表否定,需要注意
if (!file.exists()){
//3.不存在就创建它 创建成功后可以在D盘查看
try {
//由于这里会抛出异常,所以需要使用try catch来包裹他
file.createNewFile();
System.out.println("文件不存在,但已经创建成功!");
} catch (IOException e) {
throw new RuntimeException(e);
}
}
//4.获取文件名
String fileName = file.getName();
System.out.println("文件名为:"+fileName);
//5.获取文件路径
String path = file.getPath();
System.out.println("文件路径:"+path);
//6.获取文件绝对路径
String abPath = file.getAbsolutePath();
System.out.println("文件绝对路径:"+abPath);
//7.获取文件大小
long length = file.length();
System.out.println("文件大小:"+length);
//8.判断file是否是File
System.out.println("判file是否是文件:"+file.isFile());
//9.删除文件 可以先不写后面几行,在D盘看有没有文件
file.delete();
//判断文件是否还存在
System.out.println("判文件是否还存在:"+file.exists());
在没有写删除的代码之前,可以看到D盘里是又新建的happy.txt文件的,删除后就没有了。
上面我们使用到了之前表格里的1~6还有第10总共7个方法,接下来我们再看一下其他的方法
5.2 案例2 创建目录和基操
1.创建file对象
2.创建单级目录,
3.创建第二个file2对象,是多级目录
4.创建多级目录
5.创建第三个file3对象
6.获取file3对象下的所有子目录和文件,并输出其数量
7.遍历输出file3色温目录和文件名
//1.创建file对象
File file = new File("D:\\text");
//2.创建单级目录,
file.mkdir();
//3.创建第二个file2对象,是多级目录
File file2 = new File("D://text2/text/name");
//4.创建多级目录
file2.mkdirs();
//5.创建第三个file3对象
File file3 = new File("D://text3");
//6.获取file3对象下的所有子目录和文件,并输出其数量 注意这里需要事先在对应文件路径中创建对应的文件,如下面的图片所示
File[] files = file3.listFiles();
int size = files.length;
System.out.println("该文件中共有的子目录或者文件数为:"+size);
//7.遍历输出file3色温目录和文件名
for (File fileIndex:files) {
if (fileIndex.isDirectory()){
System.out.println("目录名为:"+fileIndex.getName());
} else if (fileIndex.isFile()) {
System.out.println("文件名为:"+fileIndex.getName());
}
}
在创建file3对象前,需要在对应的文件路径下创建如下图所示的文件和文件夹
6.总结
文件对象是IO流的基础,我们只需要掌握上面所展示的表格里面的方法即可,总体而言不算难,多练几遍即可。
标签:文件,1.1,对象,创建,file,简单,File,目录 From: https://www.cnblogs.com/zaneblog/p/16618816.html