file操作
File中的构造方法
File封装的对象仅仅是一个路径名,这个路径可以是存在的,也可以是不存在的。
三个构造方法:
File(String pathname) - 通过将给定的路径名字符串转换为由抽象路径名来创建新的 File 实例
File(String parent, String chlid) - 从父类路径名字符串和自路径名字符串创建新的 File 实例
File(File parent, String child) - 从父类抽象路径和自路径名字符串创建行的 File 实例
demo: 使用上面的三种构造方法,封装一个路径名字,进行输出
import java.io.File;
/**
* @Classname : demo01
* @Description : TODO File构造方法
* @Author : lin_refuel@qq.com
*/
public class demo01 {
public static void main(String[] args) {
//使用File可以把路径名字给封装起来
File file01 = new File("/.Mydir/Mytest.txt");
System.out.println(file01);
System.out.println("================================");
//Mydir和Mytest.txt可以分开写
File file02 = new File("/.Mydir","/Mytest.txt");
System.out.println(file02);
System.out.println("================================");
//可以把封装的路径名字当作参数进行传递
File file03 = new File("/.Mydir");
File file04 = new File(file03,"/Mytest.txt");
System.out.println(file04);
}
}
运行结果:
file的创建功能
createNewFile(): 创建文件
mkdir(): 创建目录
mkdirs(): 创建多级目录
demo: 调用上面的方法
package dem01;
import java.io.File;
import java.io.IOException;
/**
* @Classname : demo02
* @Description : TODO File类的创建
* @Author : lin_refuel@qq.com
*/
public class demo02 {
public static void main(String[] args) throws IOException {
//调用createNewFile方法,在D盘的JAVA文件夹里面,建立一个名字为Mydemo.txt的文件
File file01 = new File("D:/JAVA","Mydemo.txt");
System.out.println(file01.createNewFile());
System.out.println("============================================");
//调用mkdir方法,在D盘的JAVA目录里面创建一个名字为MyFile的子目录
File file02 = new File("D:/JAVA","MyFile");
System.out.println(file02.mkdir());
System.out.println("=============================================");
//调用mkdirs方法,在E盘里面创建一个名字为H的多级目录
File file03 = new File("E:","H/E/L/L/O");
System.out.println(file03.mkdirs());
}
}
运行结果:
文件Mydemo和目录Myfile建立成功
多级目录H创建成功
File的判断和获取功能的方法
isDirectory(): 是否为目录
demo
import java.io.File;
/**
* @Classname : demo03
* @Description : TODO File 判断和获取的功能
* @Author : lin_refuel@qq.com
*/
public class demo03 {
public static void main(String[] args) {
//在D盘的/JAVA/ce目录里面创建一个文件夹mmm
File file = new File("D:/JAVA/ce","mmm");
System.out.println(file.mkdir());//创建文件夹
//调用isDirectory功能判断是否为文件夹
System.out.println(file.isDirectory()); // ture:说明是文件夹,false说明不是
}
}
运行结果:
第一个true说明创建成功,第二个true说明了是文件夹
isFile(): 是否为文件
demo:
import java.io.File;
import java.io.IOException;
/**
* @Classname : demo03
* @Description : TODO File 判断和获取的功能
* @Author : lin_refuel@qq.com
*/
public class demo03 {
public static void main(String[] args) throws IOException {
//在D盘的/JAVA/ce目录里面创建一个目录mmm
File file = new File("D:/JAVA/ce","mmm");
file.mkdir();//创建目录
System.out.println("===============================");
//在D盘的/JAVA/ce目录里面创建一个文件vvv
File file01 = new File("D:/JAVA/ce","vvv");
file01.createNewFile();//创建文件夹
//通过isFile(): 是否为文件
System.out.println(file.isFile()); // false mmm不是一个文件
System.out.println(file01.isFile());// ture vvv是一个文件
}
}
运行结果:
exists(): 是否存在
创建成功返回true ,创建失败返回false
import java.io.File;
import java.io.IOException;
/**
* @Classname : demo03
* @Description : TODO File 判断和获取的功能
* @Author : lin_refuel@qq.com
*/
public class demo03 {
public static void main(String[] args) throws IOException {
//在D盘的/JAVA/ce目录里面创建一个目录mmm
File file = new File("D:/JAVA/ce","ccc");
// file.mkdir();//创建目录
System.out.println(file.exists()); // 存在true 不存在返回false
}
}
运行结果:因为注释掉了file.mkdir();,输出false,
getAbsolutePath(): 返回绝对路径
demo:
import java.io.File;
import java.io.IOException;
/**
* @Classname : demo03
* @Description : TODO File 判断和获取的功能
* @Author : lin_refuel@qq.com
*/
public class demo03 {
public static void main(String[] args) throws IOException {
//在D盘的/JAVA/ce目录里面创建一个目录mmm
File file = new File("D:/JAVA/ce","ccc");
// file.mkdir();//创建目录
System.out.println(file.getAbsolutePath());
}
}
运行结果:
getPath(): 返回给定的路径名字符串
demo:
import java.io.File;
import java.io.IOException;
/**
* @Classname : demo03
* @Description : TODO File 判断和获取的功能
* @Author : lin_refuel@qq.com
*/
public class demo03 {
public static void main(String[] args) throws IOException {
//在D盘的/JAVA/ce目录里面创建一个目录mmm
File file = new File("D:/JAVA/ce","ccc");
// file.mkdir();//创建目录
System.out.println(file.getPath());
}
}
运行结果:
getName(): 返回File封装的文件或目录名
demo
import java.io.File;
import java.io.IOException;
/**
* @Classname : demo03
* @Description : TODO File 判断和获取的功能
* @Author : lin_refuel@qq.com
*/
public class demo03 {
public static void main(String[] args) throws IOException {
//在D盘的/JAVA/ce目录里面创建一个目录mmm
File file = new File("D:/JAVA/ce","ccc");
// file.mkdir();//创建目录
System.out.println(file.getName());
}
}
File列表的获取
list(): 返回目录文件列表(字符串)
demo:
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
/**
* @Classname : demo03
* @Description : TODO File 判断和获取的功能
* @Author : lin_refuel@qq.com
*/
public class demo03 {
public static void main(String[] args) throws IOException {
//建立一个File对象,对字符串路径进行包装
File file1 = new File("D:/JAVA/java SE");//当前路径下
String[] list = file1.list();//把当前路径里面的对象字符串化,放入数组
//System.out.println(Arrays.toString(list));
//输出字符串数组
for (String listname:list) {
System.out.println(listname);
}
System.out.println("====================================");
}
}
运行结果:
listFiles(): 返回文件列表(对象)
demo
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
/**
* @Classname : demo03
* @Description : TODO File 判断和获取的功能
* @Author : lin_refuel@qq.com
*/
public class demo03 {
public static void main(String[] args) throws IOException {
//建立一个File对象
File file1 = new File("D:/JAVA/java SE");//当前路径下
//调用:listFile()方法
File[] files = file1.listFiles();//返回一个File类型的数组
for (File file:files){
//数组里面的每个对象调用getName方法,返回目录名字
System.out.println(file.getName());
}
}
}
运行结果:
file的删除功能
demo:
package dem01;
import java.io.File;
import java.io.IOException;
import static java.nio.file.Files.delete;
/**
* @Classname : demo04
* @Description : TODO delete 删除
* @Author : lin_refuel@qq.com
*/
public class demo04 {
public static void main(String[] args) throws IOException {
//定义一个File对像
File file = new File("F:/新建文件夹/mmm");
//Create(file);//创建文件方法
delete(file);//删除文件方法
}
/**
* 删除文件
* @param file 删除的目标文件
*/
private static void delete(File file) {
//判断文件是否存在
if(file.exists()){
if(file.delete()){
System.out.println(file.getName() + "文件删除成功");
}else{
System.out.println(file.getName() + "文件删除失败");
}
}else{
System.out.println(file.getName() + "没有此文件");
}
}
/**
* 创建文件
* @param file 创建的文件
* @throws IOException
*/
private static void Create(File file) throws IOException {
//判断文件是否存在
if(file.exists()){
System.out.println(file.getName() + "文件已经存在");
}else{
System.out.println("创建文件" + file.getName());
if(file.createNewFile()){
System.out.println(file.getName() + "文件创建成功");
}else{
System.out.println("文件创建立失败");
}
}
}
}