java开发之File类详细使用方法介绍
File类简介
在Java中,File类是java.io包中唯一代表磁盘文件本身的对象。File类定义了一些与平台无关的方法来操作文件,File类主要用来获取或处理与磁盘文件相关的信息,像文件名、文件路径、访问权限和修改日期等,还可以浏览子目录层次结构。
File类表示处理文件和文件系统的相关信息。也就是说,File类不具有从文件读取信息和向文件写入信息的功能,它仅描述文件本身的属性。
File类的相关方法
1、构造方法
File(Stringpathname)通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。
File(Stringparent,Stringchild)根据指定的父路径和文件路径创建一个新File对象实例
File(Fileparent,Stringchild)根据指定的父路径对象和文件路径创建一个新的File对象实例
代码实现过程
/*
-File的构造函数
-*/
publicstaticvoidmain(String[]args){
//File(Stringpathname)将指定路径名转换成一个File对象
Filefile=newFile("D:\\1.txt");
System.out.println(file);
//File(Stringparent,Stringchild)根据指定的父路径和文件路径创建File对象
Filefile1=newFile("D:\\a","1.txt");
System.out.println(file1);
//File(Fileparent,Stringchild)根据指定的父路径对象和文件路径创建File对象
Fileparent=newFile("D:\\a");
Filefile2=newFile(parent,"1.txt");
System.out.println(file2);
Filefile3=newFile(newFile("D:\\a"),"1.txt");
System.out.println(file3);
}
运行结果
2、File类创建和删除功能
booleancreateNewFile();指定路径不存在该文件时创建文件,返回true否则false
booleanmkdir()当指定的单击文件夹不存在时创建文件夹并返回true否则false
booleanmkdirs()但指定的多级文件夹在某一级文件夹不存在时,创建多级文件夹并返回true否则false
booleandelete()删除文件或者删除单级文件夹
删除文件夹,这个文件夹下面不能有其他的文件和文件夹
代码实现过程
publicstaticvoidmain(String[]args)throwsIOException{
Filefile=newFile("D:\\a\\1.txt");
Filefile1=newFile("1.txt");
booleanflag=file1.createNewFile();
System.out.println(flag);
Filefile2=newFile("b");
booleanflag2=file2.mkdir();
System.out.println(flag);
Filefile3=newFile("c\\d\\e");
booleand=file1.mkdir();
booleanc=file1.mkdirs();
System.out.println(d);
System.out.println(c);
Filefile4=newFile("c.txt");
System.out.println(file4.mkdir());
Filefile5=newFile("b");
System.out.println(file2.delete());
}
运行结果
3、File类的判断功能
booleanexists()判断指定路径的文件或文件夹是否为空
booleanisAbsolute()判断当前路径是否是绝对路径
booleanisDirectory()判断当前的目录是否存在
booleanisFile()判断当前的目录是否是一个文件
booleanisHidden()判断当前路径是否是一隐藏文件
代码实现过程
publicstaticvoidmain(String[]args)throwsIOException{
//method();
//method2();
//method3();
//method4();
}
//判断文件是否存在
publicstaticvoidmethod()throwsIOException{
Filefile=newFile("a.txt");
file.createNewFile();
booleanflag=file.exists();
System.out.println(flag);
}
//判断当前路径是否为绝对路径
publicstaticvoidmethod2()throwsIOException{
Filefile=newFile("D:\\a\\1.txt");
booleanflag=file.isAbsolute();
System.out.println(flag);
}
//判断当前是文件夹还是文件
publicstaticvoidmethod3()throwsIOException{
Filefile=newFile("1.txt");
Filefile1=newFile("b");
file1.mkdir();
booleanflag=file.isDirectory();
booleanflag2=file1.isFile();
System.out.println(flag);
System.out.println(flag2);
}
//判断当前路径是否为隐藏文件
publicstaticvoidmethod4()throwsIOException{
Filefile=newFile("D:\\a\\1.txt");
System.out.println(file.isHidden());
}
运行结果
method()
method2()
method3()
method4()
4、File类的获取功能和修改名字功能
FilegetAbsoluteFile()获取文件的绝对路径,返回File对象
StringgetAbsolutePath()获取文件的绝对路径,返回路径的字符串
StringgetParent()获取当前路径的父级路径,以字符串形式返回该父级路径
StringgetName()获取文件或文件夹的名称
StringgetPath()获取File对象中封装的路径
longlastModified()以毫秒值返回最后修改时间
longlength()返回文件的字节数
booleanrenameTo(Filedest)将当前File对象所指向的路径修改为指定File所指向的路径
代码实现过程:
publicstaticvoidmain(String[]args)throwsIOException{
//method();
//method2();
//method3();
//method4();
}
publicstaticvoidmethod(){
Filefile=newFile("D:\\a\\1.txt");
Filefile1=newFile("1.txt");
//以File对象返回的形式返回当前File对象所指向的绝对路径
System.out.println(file1.getAbsoluteFile());
//返回File对象所指向的绝对路径
System.out.println(file1.getAbsolutePath());
}
publicstaticvoidmethod2()throwsIOException{
Filefile=newFile("a.txt");
Filefile1=newFile("b","c.txt");
System.out.println(file1.createNewFile());
Fileparent=newFile("b");
Filefile2=newFile(parent,"c.txt");
if(!parent.exists()){
parent.mkdirs();
}
System.out.println(file2.createNewFile());
System.out.println(file2.getParent());
System.out.println(file2.getParentFile());
}
publicstaticvoidmethod3()throwsIOException{
Filefile=newFile("1.txt");
Filefile1=newFile("D:\\a\\1.txt");
Filefile2=newFile("b");
System.out.println(file.getName());
System.out.println(file1.getName());
System.out.println(file2.getName());
System.out.println(file.getPath());
System.out.println(file1.getPath());
System.out.println(file2.getPath());
System.out.println(file.lastModified());
Datedate=newDate(1556085068524L);
System.out.println(date.toLocaleString());
System.out.println(file.length());
System.out.println(file2.length());
}
publicstaticvoidmethod4()throwsIOException{
Filefile=newFile("a.txt");
Filefile1=newFile("e.txt");
System.out.println(file.renameTo(file1));
}
运行结果
method()
method2()
method3()
method4()
5、File类的其他获取功能
String[]list();以字符串的形式返回当前路径下所有的文件和文件夹的名称
File[]listFile以File对象的形式返回当前路径下的所有文件和文件夹名称
StaticFile[]listRoots()获取计算机中的所有盘符
代码实现过程
publicstaticvoidmain(String[]args){
//method();
//method2();
//method3();
}
publicstaticvoidmethod(){
Filefile=newFile("b");
Filefile1=newFile("D:\\QQ\\1916247350");
Filefile2=newFile("e.txt");
String[]files=file1.list();
for(inti=0;i
运行结果
method()
method2()
method(3)
练习
1、输出指定目录下的所有java文件
publicstaticvoidmain(String[]args){
Filefile=newFile("D:\\IDEA\\IDEAprogram");
method(file);
}
publicstaticvoidmethod(Filefile){
//判断文件是够是目录文件
if(file.isDirectory()){
File[]files=file.listFiles();
for(Filefile1:files){
//判断是否为文件
if(file1.isFile()){
//判断文件是否是以.java结尾的文件
if(file1.getName().endsWith(".java")){
System.out.println(file1.getName());
}
}elseif(file1.isDirectory()){
//回调,遍历file1
method(file1);
}
}
}
}
运行结果
2、删除指定的目录(包括子目录)
publicstaticvoidmain(String[]args){
Filefile=newFile("D:\\a");
method(file);
}
//删除指定目录下的文件
publicstaticvoidmethod(Filefile){
//删除自己所有的子文件和子目录
//获取子文件和子目录
if(file.isDirectory()){
File[]files=file.listFiles();
for(Filefile1:files){
if(file1.isFile()){
System.out.println(file1.getName());
//干掉它
file1.delete();
}elseif(file1.isDirectory()){
//继续查看
method(file1);
}
}
//干掉自己
System.out.println(file.getName());
file.delete();
}
}
代码运行结果
本文介绍了java开发过程中File类的详细使用方法,更多关于File类使用方法请查看下面的相关链接
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。