java.io.File File的每一个实例用于表示硬盘上的一个文件或目录(实际上表示的是一个抽象路径) File可以: 1:可以访问其表示的文件或目录的属性信息(文件名,大小,修改时间等等) 2:创建或删除文件及目录 3:访问一个目录(文件夹)中的所有子项
File常用构造器: File(String pathname) 指定一个路径,使当前File对象表达该位置对应的文件或目录。
/*
(pathname)这里路径使用一个字符串,路径有两种写法:
绝对路径:从 *** 作系统定义的"根"开始,比如windows中硬盘上的根从c盘,d盘等盘符开始
绝对路径的有点在于清晰明了,但是缺点就是太绝对,不能更好适应跨平台。
相对路径:相对路径写法常见的为"./",即:当前目录
相对路径有更好的适应性,适合跨平台使用,缺点是不够清晰,具体位置的
判断要视当前程序的运行环境而定。
比如在IDEA中执行当前程序时,IDEA规定的"./"就是当前项目目录
*/
//D:/Robin/jsd2203_se/demo.txt
该文件是D盘中Robin文件夹下,jsd2203_se文件夹下的demo.txt文件
File file = new File("D:/Robin/jsd2203_se/demo.txt"); //绝对路径
File file = new File("./demo.txt"); //相对路劲
File的几个常见方法
/**
获取文件名,返回String类型
String file.getname();
*/
String name = file.getName();//demo.txt
System.out.println(name);
/**
long flie.length();
或取文件的长度此处指的是此文件占用内存的字节,返回long类型因为文件占用的字节大
*/
long len = file.length();
System.out.println(len);
/**
boolean file.canRead/canWrite/isHitten();
判断是否可读,可写,是否隐藏
*/
boolean cr = file.canRead();//是否可读
boolean cw = file.canWrite();//是否可写
System.out.println("是否可读:"+cr);
System.out.println("是否可写:"+cw);
boolean ih = file.isHidden();
System.out.println("是否隐藏:"+ih);//是否隐藏
File提供了创建一个文件的方法:createNewFile()
public class CreateNewFileDemo {
public static void main(String[] args) throws IOException {
//在当前目录下新建一个文件:test.txt
/**
boolean file.exists
判断文件是否存在
*/
File file = new File("./test.txt");//./表示当前目录
boolean exists = file.exists();//判断当前File表示的文件或目录是否真实存在
if(exists) {
System.out.println("该文件已经存在了!");
}else{
file.createNewFile();//若不存在就创建它
}
}
}
创建一个目录
directory : 目录 又称文件夹
public class MkdirDemo {
public static void main(String[] args) {
//在当前目录下新建一个目录:demo
// File dir = new File("./demo");
File dir = new File("./a/b/c/d/e/f/demo");
if(dir.exists()){//目录也有exist方法
System.out.println("该目录已存在");
}else{
/*
mkdir()方法在创建目录时要求该目录所在的目录必须存在,否则创建失败
mkdirs()方法则会在创建该目录时将所有不存在的父目录全部创建出来。
把abcdef目录也创建出来了
实际开发中推荐使用mkdirs()这个方法。
*/
// dir.mkdir();//将该目录创建出来
dir.mkdirs();//将该目录创建出来
System.out.println("目录已创建");
}
}
}
file的删除
public class DeleteFileDemo {
//file.delete删除文件,不管文件是否有内容
public static void main(String[] args) {
//将当前目录下的文件test.txt删除
File file = new File("./test.txt");
if(file.exists()){//如果该文件存在
file.delete();//删除文件
System.out.println("文件已删除!");
}else{
System.out.println("该文件不存在!");
}
}
}
directory 目录的删除
public class DeleteDirDemo {
public static void main(String[] args) {
//将当前目录下的demo目录删除
// File file = new File("./demo");
File file = new File("./a");
if(file.exists()){//如果该目录存在
/*
delete()方法在删除目录时,要求目录必须是空的,否则删除失败。
*/
file.delete();
System.out.println("目录已删除!");
}else{
System.out.println("该目录不存在!");
}
}
}
file[] listfile 访问所有的子项
/**
* 访问一个目录中的所有子项
*/
public class ListFilesDemo {
public static void main(String[] args) {
//访问当前目录下的所有子项
File dir = new File(".");//"."就表示当前目录本身
/*
boolean isFile()
判断当前File表示的是否为一个文件
boolean isDirectory()
判断当前File表示的是否为一个目录
*/
if(dir.isDirectory()){//确保dir表示的是一个目录
/*
File[] listFiles()
将当前File对象表示的目录中所有子项返回。
返回的数组中每个File元素表示的就是其中一个子项。
*/
File[] subs = dir.listFiles();
System.out.println("当前目录下一共有:"+subs.length+"个子项");
for(int i=0;i
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)