能懂系列之 Java.IO.File 构造方法及主要方法详述
序
对文件的操作这是一项即简单又复杂的工作,阿淼本着万丈高楼平地起的调调,这篇文章就给大家梳理一下 File 对象。
一、File 对象的产生目的
程序运行时,所有处理数据都存放在内存中,程序结束并且退出,所有的数据也就跟随着程序一起从内存中消失。也就是说,程序运行和内存数据都是暂时的,非永久化的。而要解决这一问题就需要将内存中的数据存入持久化存储设备上,像硬盘,U盘等。
在java中,引入了IO操作,即写操作--Output操作;读操作--Input操作。写就是将程序中的内容输出(out)到文件中,读就是从文件中读取(in)内容到程序。
二、文件 与 File 对象
在操作系统中,文件的三大块为:文件、目录(文件夹)、路径。所有的IO操作都是在跟这三大块亲密接触。Java把文件或者目录都封装成了File对象,有了对应的File对象后就能操作文件或者目录了。
三、File 的创建以及操作
3.1 File 的构造方法
用于创建 File 实例:
// 根据parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String parent, String child)
// 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String pathname)
// 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例
File(String parent, String child)
创建File实例演示:
import java.io.FIle;
public class JavaStudyDemo {
public static void main(String[] args) {
/*单参数构造*/
//通过字符串形式传递
String filename = "D:\\JavaStudyCode\\javaStudyDemo1.txt";
File file1 = new File(filename);
//直接传递一个绝对路径,也是最常用的方法
File file2 = new File("D:\\JavaStudyCode\\javaStudyDemo2.txt");
/*双参数构造*/
//通过两个字符串传递
String parent = "D:\\JavaStudyCode";
String child = "JavaStudyDemo3.txt";
File file3 = new File(parent, child);
//通过两个字符串直接传递
File file4 = new File(parent, "JavaStudyDemo4.txt");
}
}
输出结果:
System.out.println(file1);
// D:\JavaStudyCode\javaStudyDemo1.txt
System.out.println(file2);
// D:\JavaStudyCode\javaStudyDemo2.txt
System.out.println(file3);
// D:\JavaStudyCode\javaStudyDemo3.txt
System.out.println(file4);
// D:\JavaStudyCode\javaStudyDemo4.txt
注意:可以封装不存在的文件或者目录(这也是方便后面的创建或者判定等操作)
3.2 File信息的获取方法
创建出File实例对象后,便可通过File的方法对FIle进行操作。
获取File的信息主要方法如下:
// 测试此抽象路径名表示的文件或目录是否存在。
boolean|exists()
// 测试此抽象路径名表示的文件是否是一个目录。
boolean|isDirectory()
// 测试此抽象路径名表示的文件是否是一个标准文件。
boolean|isFile()
// 将此抽象路径名转换为一个路径名字符串。
String|getAbsolutePath()
// 返回由此抽象路径名表示的文件或目录的名称。
String|getName()
// 返回由此抽象路径名表示的文件的长度。
long|length()
File信息的获取方法代码演示:
import java.io.File;
public class GetFileInfro {
public static void main(String[] args) {
//在代码运行前我已经手动创建好一个在D盘根目录下的子文件夹JavaStudyCode
//在JavaStudyCode文件夹中创建了空文件JavaStudyDemo.txt
File file = new File("D:\\JavaStudyCode\\JavaStudyDemo.txt");
//判断file实例表示的文件或目录是否存在
boolean b = file.exists();
System.out.println(b);//true
//判断file实例表示的对象是不是文件夹
b = file.isDirectory();
System.out.println(b);//false
//判断file实例表示的对象是不是文件
b = file.isFile();
System.out.println(b);//true
//获取file实例表示的对象的绝对路径
String result = null;
result = file.getAbsolutePath();
System.out.println(result);
//D:\JavaStudyCode\JavaStudyDemo.txt
result = file.getPath();
System.out.println(result);
//D:\JavaStudyCode\JavaStudyDemo.txt
result = file.getName();
System.out.println(result);
//JavaStudyDemo.txt
long len = 0;
len = file.length();
System.out.println(len);//0
}
}
3.3 文件及目录的创建和删除方法
我们通过对File对象信息的调用,可以知道File对象是否存在等信息,如果要对文件进行新建,删除还需要另外的方法。
// 创建此抽象路径名指定的目录。
boolean|mkdir()
// 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
boolean|mkdirs()
// 删除此抽象路径名表示的文件或目录。
boolean|delete()
File创建删除文件或文件夹的代码演示:
import java.io.File;
import java.io.IOException;
public class CreateAndDelete {
public static void main(String[] args) throws IOException {
File file = new File("D:\\JavaStudyCode\\JavaStudyDemo.txt");
File dir = new File("D:\\JavaStudyCode");
if(!dir.exists())//dir对象不存在时创建一个对应的文件夹
System.out.println(dir.mkdir()); //true
if(!file.exists())//file对象的文件不存在时创建一个对应的文件
System.out.println(file.createNewFile()); //true
if(file.exists())//file对象的文件存在时进行删除操作
System.out.println(file.delete()); //true
}
}
此代码演示中涉及到一个createNewFile()方法,这个方法不常用,因为许多时候要操作文件时,如不存在相应文件会自动创建一个文件。
注意:
- 1.如果要删除文件夹,文件夹必须是空文件夹,否则不能进行删除;
- 2.delete方法删除后会自己在磁盘上消失,并不会进入到回收站,操作时一定要慎重。
标题:能懂系列之 Java.IO.File 构造方法及主要方法详述
作者:spirit223
地址:https://www.mmzsblog.cn/articles/2020/07/31/1596209271459.html
如未加特殊说明,文章均为原创,转载必须注明出处。均采用CC BY-SA 4.0 协议!
本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。若本站转载文章遗漏了原文链接,请及时告知,我们将做删除处理!文章观点不代表本网站立场,如需处理请联系首页客服。• 网站转载须在文章起始位置标注作者及原文连接,否则保留追究法律责任的权利。
• 公众号转载请联系网站首页的微信号申请白名单!
