file类的常见方法以及案例解释


/*
 * file类的常见方法
 * 1:创建:
 * boolean createNewFile();
 * 在指定位置创建文件,如果该文件已经存在则不创建,返回false。
 * 和输出流不一样,输出流对象一建立创建文件,而且文件已经存在,会覆盖。
 * boolean mkdir();//创建文件夹
 * boolean mkdirs();//创建多级文件夹
 * 2:删除:
 * boolean  delete();//删除失败返回假false
 * boolean  deleteOnExit();//在程序退出时删除文件
 * 
 * 3:判断:
 * exists();//测试此抽象路径名表示的文件或目录是否存在。
 * isDirectory()://判断是否是文件目录
 * isFile()://判断是否为问价
 *isHidden()://判断是否为隐藏
 *4:获取信息:
 *getName();//获取文件名字
 *getParent();//获取父目录
 *getPath();//获取文件路径
 *getAbsolutePath();//获取文件绝对路径
 *length();//文件大小long类型
 *lastModified()//返回路径最后修改的时间long类型
 *
 */
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;


public class FileDemo {
public static void main(String[] args) {
consMethod();
try {
method1();
} catch (IOException e) {
e.printStackTrace();
}
method2();
listDemo();
method4();
method5();
}
//显示输出方法
public static void  listDemo() {
/*File [] files=File.listRoots();//显示机器的所有盘符
for (File f : files) {
System.out.println(f);
}*/
/*//显示d盘内的所有一级目录和文件包含隐藏文件
File fi=new File("d:\\");
//调用list方法的file对象必须是封装了一个目录。该目录还必须存在
String[] names=fi.list();
for (String name : names) {
System.out.println(name);
}*/
//显示一个指定文件里面的所有文件
File fi0=new File("d:\\"); 






//获取指定目录的所有文件和文件大小包括文件夹
File []files=fi0.listFiles();
for (File file : files) {
System.out.println(fi0.getName()+"><"+fi0.length());
}








String[]arr=fi0.list(new FilenameFilter() {

@Override
public boolean accept(File arr, String name) {
System.out.println("fi0:"+fi0+"...name"+name);
return name.endsWith("*.txt");
}
});
System.out.println("len:"+arr.length);
for (String name : arr) {
System.out.println(name);
}
}
//修改名字
public static void  method5() {
File f1=new File("d:\\a.txt"); 
File f2=new File("d:\\aaaa.txt"); 
System.out.println(f1.renameTo(f2));
//把f1的名字改为f2的名字,如果不在同一个文件夹中,类似为剪切功能
}
public static void method4() {
File f=new File("d:\\a.txt"); 
//获取父路径该方法返回的是绝对路径中的父目录,如果获取的是相对路径返回null
System.out.println("path"+f.getParent());
System.out.println("path"+f.getPath());//获取路径
System.out.println("path"+f.getAbsolutePath());//获取绝对路径

}
//判断方法
public static void  method2() {
File fi1=new File("d:\\a.txt"); 
// 测试应用程序是否可以执行此抽象路径名表示的文件。
//System.out.println("execute:"+fi1.canExecute());
//测试此抽象路径名表示的文件或目录是否存在。
//System.out.println("exists:"+fi1.exists());
//
File dir=new File("d:\\abc");
System.out.println("mkdir:"+dir.mkdir());
//判断是否为目录
//在判断文件对象是否为文件或者目录时,必须要先判断该文件对象封装的内容是否存在
//通过exists判断
System.out.println("dir:"+fi1.isDirectory());
System.out.println("dir:"+fi1.isFile());


}




public static void method1()throws IOException {
File fi1=new File("d:\\a.txt"); 
// fi1.deleteOnExit();//一般临时文件会这样做,用来退出虚拟机时删除文件

// System.out.println("create:"+fi1.createNewFile());
//删除文件
System.out.println("delete:"+fi1.delete());
}
//创建文件对象
public static void consMethod() {
//将a.txt封装成file对象,可以将已有的和为出现的文件或者文件夹分装成对象
File f1=new File("d:\\a.txt");
File f2=new File("d:\\a.txt","d:\\b.txt");
File d=new File("d:\\123");
File f3=new File(d,"d:\\c.txt");
//只打印你封装的,封装的为相对的就打印相对的,封装为绝对的打印就是绝对的
//实现跨平台的作用;
File f4=new File("d:"+File.separator+"aa"+File.separator+"bb"+File.separator+"cc.txt");
System.out.println("f1:"+f1);
System.out.println("f2:"+f2);
System.out.println("f3:"+f3);
}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值