深入了解Java I/O 之File类
File类
Java使用File类来表示计算机系统磁盘文件的对象类型。File类中提供了大量的方法,可以对文件进行增加、修改、删除、重命名等常规操作。File类的对象会村春文件自身的信息,例如文件在系统中的存储目录、文件大小、文件读写权限等。
创建File文件
File类中提供了以下几个构造方式来创建File对象。
File(String pathname)
File file=new File("d:/Test/file01.txt");
File(String parent,String child)
File file1=new File("d:/","Test/file01.txt");
File(File f,String child)
File(URI uri)
File文件基本操作
File类中提供了操作文件的方法,也可以直接对文件夹进行操作。文件的常见操作有:判断文件是否存在、创建和重命名文件、删除文件和获取文件基本信息。
package com.IO.demo01;
import java.io.*;
/**
* File类
*/
public class Demo06 {
public static void main(String[] args) {
try {
File file = new File("Data01.json");
System.out.println("创建文件Data01.json");
System.out.println("是否创建成功:"+file.createNewFile());
System.out.println("文件是否为绝对路径:"+file.isAbsolute());
System.out.println("文件是否可读:"+file.canRead());
System.out.println("修改文件名称为:Data02.json,是否成功:"+file.renameTo(new File("Data02.json")));
} catch (Exception e) {
System.out.println("系统发生异常:"+e.getMessage());
}
}
}
运行结果:

File类也支持对文件夹的操作。对文件夹的操作一般有创建文件夹、删除文件夹、判断文件夹是否存在、获取文件夹信息等。
package com.IO.demo01;
import java.io.File;
/**
* 读取目录下的文件和目录
*/
public class Demo07 {
public static void main(String[] args) {
String dirName="jjjjava";
File file = new File("d:/"+dirName);
if(file.isDirectory()){
System.out.println("访问目录"+dirName);
String[]s=file.list();
for (int i = 0; i < s.length; i++) {
File tempFile = new File("d:/" + dirName + "/" + s[i]);
if(tempFile.isDirectory()){
System.out.println(s[i]+"是一个目录");
}else{
System.out.println(s[i]+"是一个文件");
}
}
}else{
System.out.println(dirName+"不是一个目录");
}
}
}
在上面的示例中,在相对路径下创建了两个文件夹“/a”、“/b”以及一个文件“c.txt”。
运行结果为:

package com.IO.demo01;
import java.io.File;
/**
* File类删除操作
* @author ZpF
*/
public class Demo08 {
public static void main(String[] args) {
File file = new File("java");
System.out.println("创建文件夹java:"+file.mkdir());
file =new File("java/dir");
System.out.println("创建文件夹java/dir:"+file.mkdir());
File floder = new File("java");
deleteFloder(floder);
}
public static void deleteFloder(File floder){
File[]files=floder.listFiles();
if(files!=null){
for (File f : files) {
if (f.isDirectory()){
deleteFloder(f);//递归调用
}else{
System.out.println("删除文件"+f.getName()+"是否成功:"+f.delete());//删除文件
}
}
}
System.out.println("删除文件"+floder.getName()+"是否成功:"+floder.delete());//删除文件夹
}
}
运行结果为:

总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
相关文章
springboot log4j2不能打印框架错误日志的解决方案
这篇文章主要介绍了springboot log4j2不能打印框架错误日志的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-08-08
Java List接口与Iterator接口及foreach循环使用解析
这篇文章主要介绍了Java List接口与Iterator接口及foreach循环,主要包括List接口与Iterator接口及foreach循环具体的使用方法和代码,需要的朋友可以参考下2022-04-04
Java class文件格式之常量池_动力节点Java学院整理
这篇文章主要为大家详细介绍了Java class文件格式之常量池的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-06-06


最新评论