Java中File类的运用

import java.io.File;  
import java.io.IOException;  
import java.util.Date;  

import org.junit.Test;  

/** 
 * java.io.File类 
 * 1.凡是与输入、输出相关的类、接口等,都定义在java.io包下 
 * 2.File是一个类,可以有构造器创建其对象。此对象对应这一个文件(.txt .avi .doc .ppt .mp3 .jpg)或目录。 
 * 3.File类对象是与平台无关的。 
 * 4.File中方法,仅涉及到如何创建、删除、重命名等等。只要设计到文件内容的,File是无能为力的,必须由io流来完成。 
 * 5.File类的对象常作为io流的具体类的构造器的形参。 
 */  
public class TestFile {  
    /** 
     * 路径: 
     * 绝对路径:包括盘符在内的完整的文件路径 
     * 相对路径:在当前文件目录下的文件的路径 
     */  
    @Test  
    public void test1() {  
        File file1 = new File("F:\\code.txt");  
        File file2 = new File("F:/code.txt");  

        File file3 = new File("hello.txt");  

        /** 
         * 访问文件名: 
         * getName() 
         * getPath() 
         * getAbsoluteFile() 
         * getAbsolutePath() 
         * getParent() 
         * renameTo(File newName):将此文件重命名为newName,要求此文件一定存在,newName文件一定不存在。 
         */  
        System.out.println(file1.getName());  
        System.out.println(file1.getPath());  
        System.out.println(file1.getAbsoluteFile());  
        System.out.println(file1.getAbsolutePath());  
        System.out.println(file1.getParent());  

        System.out.println();  

        System.out.println(file2.getName());//结果与file1的完全一致  
        System.out.println(file2.getPath());  
        System.out.println(file2.getAbsoluteFile());  
        System.out.println(file2.getAbsolutePath());  
        System.out.println(file2.getParent());  

        boolean f = file1.renameTo(new File("file.txt"));  
        System.out.println(f);  
    }  

    /** 
     * 文件检测 
     * exists():是否存在 
     * canWrite():是否可写 
     * canRead():是否可读 
     * isFile():是否是文件 
     * isDirectory():是否是目录 
     */  
    @Test  
    public void test2() {  
        File file = new File("file.txt");  

        System.out.println(file.exists());  
        System.out.println(file.canWrite());  
        System.out.println(file.canRead());  
        System.out.println(file.isFile());  
        System.out.println(file.isDirectory());  
    }  

    /** 
     * 获取常规文件信息 
     * lastModified():上次修改的时间,返回long 
     * length():文件的长度 
     */  
    @Test  
    public void test3() {  
        File file = new File("file.txt");  

        System.out.println(new Date(file.lastModified()));  
        System.out.println(file.length());  
    }  

    /** 
     * 文件操作相关 
     * createNewFile() 
     * delete() 
     */  
    @Test  
    public void test4() throws IOException {  
        File file = new File("newfile.txt");//现在这个相对路径不存在此文件  
        if(!file.exists()) {  
            boolean nf = file.createNewFile();//在上面的那个路径上创建文件  
            System.out.println("file:"+nf);  
        }  

        if(file.exists()) {  
            boolean nf = file.delete();  
            System.out.println("delete file:" + nf);  
        }  
    }  

    /** 
     * 目录操作相关 
     * mkDir():有父目录才能创建目录 
     * mkDirs():可以把没有的父目录一并创建出来 
     * list():以String[]类型返回目录下的所有文件 
     * listFiles():以File[]类型返回目录下的所有文件 
     */  
    @Test  
    public void test5() {  
        File file1 = new File("D:/goodnight");  
        if(!file1.exists()) {  
            boolean md = file1.mkdir();  
            System.out.println("mkdir:"+md);  
        }  
        if(file1.exists()) {  
            System.out.println("file1 delete:" + file1.delete());  
        }  

        File file2 = new File("D:/hello/world/heheda");  
        if(!file1.exists()) {  
            boolean md = file2.mkdirs();  
            System.out.println("mkdirs:" + md);  
        }  
        if(file2.exists()) {  
            System.out.println("file2 delete:" + file2.delete());  
        }  

        File file3 = new File("D:/");  
        String[] ls = file3.list();  
        for (String string : ls) {  
            System.out.println(string);  
        }  

        File[] files = file3.listFiles();  
        for (File file : files) {  
            System.out.println(file.getName());  
        }  
    }  
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值