File类的概述:
文件和目录路径名的抽象表示形式。
以上为file类的概念,有了概念当然是不够的我们就从file的构造方法开始。
构造方法:
public File(String pathname)
根据一个路径得到File对象
public File(String parent,String child)
根据一个目录和子文件夹/目录得到File对象
public File(File parent,String child)
根据一个父File对象和一个文件/目录得到File对象
我们可以看到file类常用构造方法一共有三个,下面我们从最基本的方法开始来对File类进行一个初步认识
package com.file.test;
import java.io.File;
import java.io.IOException;
public class FileDemo {
public static void main(String[] args) {
File file = new File("E:\\filetest\\demo\\aaa");
System.out.println("mkdirs: " + file.mkdirs());
/*
* 当使用file进行文件创建时我们需要经过两部:
* 1、首先可以通过代码看见我们第一步先实例一个file对象,并且制定file建立文件夹的路径。
* 2、然后我们再使用file的方法mkdirs()进行去多级文件夹的创建。
*/
File file2 = new File("E:\\filetest\\demo\\aaa\\a.txt");
// File file2 = new File("a.txt");
// 提示若没有写明路径默在项目路径下
try {
System.out.println("createNewFile:" + file2.createNewFile());
} catch (IOException e) {
e.printStackTrace();
}
/*
* 这里同样我们通过两部创建文件: 1、首先实例化对象并且制定文件创立的路径
* 2、使用createNewFile()方法创建文件(注意:这里ecplise提示我们需要处理异常,
* 由于在main方法中所以我们使用try...catch来处理这个异常)
*/
}
}
通过以上语法我们就能知道最简单的File创建文件夹(通过mkdirs()方法)和文件(通过createNewFile()方法)的语法。
下面我们接着来看File类对文件增删相关方法代码如下:
package com.file.test;
import java.io.File;
import java.io.IOException;
public class FIleDemo2 {
public static void main(String[] args) {
File file1 = new File("E:\\测试删除");
System.out.println("mkdirs:" + file1.mkdirs());
File file2 = new File("E:\\测试删除\\这是一个验证删除的文件.txt");
try {
System.out.println("createNewFile:" + file2.createNewFile());
} catch (IOException e) {
e.printStackTrace();
}
/*
* 为了验证删除功能我们就是用才学会的创建功能先创建一个文件夹并在这个文件夹当中在创建一个txt文件
*/
System.out.println("filedelete:" + file2.delete());
// 通过上面一条语句我们就可以把刚刚创建的文件进行删除了
System.out.println("filedelete:" + file1.delete());
// 通过上面语句我们可以将file1进行删除
// 由此可知delete()不仅可以删除文件同样也可以删除文件夹特别提示!!!java删除是不会通过回收站!!!
// 要删除一个文件夹该文件内不能包含文件或者文件夹
}
}
同样使用delete()方法即可。需要注意的是通过该方法删除文件时,java回直接从硬盘中删掉文件,简单粗暴。
到目前为止我们知道文件、文件夹的创建以及删除,接下来我们继续来看java对File的其他方法。
package com.lj.file;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FileDemo3 {
public static void main(String[] args) {
File file = new File("/Users/liujing/Desktop/E1340CD8C40CECDFB6148415CEBFD873.jpg");
File file2 = new File("/Users/liujing/Desktop/非洲刘德华");
System.out.println("File: " + file.renameTo(file2));
// 改名的时,如上面代码所示我们只需要使用rename()方法即可
System.out.println("file2: " + file2.isDirectory());
// 判断是否是目录
System.out.println("file2: " + file2.isFile());
// 判断是否是文件
System.out.println("file2:" + file2.exists());
// 判断是否存在
System.out.println("file2:" + file2.canRead());
// 判断是否可读
System.out.println("file2:" + file2.canRead());
// 判断是否可写
System.out.println("file2:" + file2.isHidden());
// 判断是否隐藏
// public String getAbsolutePath():获取绝对路径
System.out.println("file2:" + file2.getAbsolutePath());
// public String getPath():获取相对路径
System.out.println("file2:" + file2.getPath());
// public String getName():获取名称
System.out.println("file2: " + file2.getName());
// public long length():获取长度。字节数
System.out.println("file2: " + file2.length());
// public long lastModified():获取最后一次的修改时间,毫秒值
Date d = new Date(file2.lastModified());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
String s = sdf.format(d);
System.out.println(s);
}
}
以上方法使我们可以对文件进行更多的操作,这里我们用了一张魔兽的图片来做演示执行程序结果如下:
并且图片文件也已经改名成功
以上就是对File类进行的最基本的操作的几个方法。难度不大,需要用到时可以查询API即可。