3 File常用方法----文件操作

package byteIO;

import java.io.File;
import java.io.IOException;

/*
 * File的常用方法
 *    1 文件名
 *       getName()  文件名
 *       getPath()  路径名
 *       getAbsoluteFile()  绝对路径所对应的File对象
 *       getAbsolutePath()  绝对路径名
 *       getParent()  父目录,相对路径的父目录,可能为null
 * 
 *    2  判断信息
 *       exists()  判断文件是否存在
 *       canWrite() 判断文件是否可写
 *       canRead() 判断文件是否可读
 *       isFile() 判断是不是文件
 *       isDirectory() 判断是不是文件夹
 *       isAbsolute() 是否为绝对路径
 * 
 *    3  长度(字节数,不能读取文件夹的长度)
 *       length()
 * 
 *    4  创建,删除文件
 *        createNewFile() 不存在则创建新文件然后返回true,存在返回false
 *        delete() 将文件删除,如文件不存在返回false
 *        createTempFile(String prefix, String suffix) 自动创建在默认的临时文件夹中的空文件.
 *        deleteOnExit()   在JVM进程退出的时候删除文件,通常用在临时文件的删除.
 */

public class TestFile {

    public static void main(String[] args) throws IOException {
        testFileName();
        testJudgeInformation();
        testOperation();
    }

    public static void testFileName () throws IOException{
        File src = new File("E:/jar/a.txt");
        
        /*
         * 第一个参数 -- 前缀字符串定义的文件名;必须至少有三个字符长
         * 第二个参数 -- 后缀字符串定义文件的扩展名;如果为null后缀".tmp" 将被使用
         */
        File sFile = File.createTempFile("temp", ".java");
        //文件绝对路径名:C:\Users\ADMINI~1\AppData\Local\Temp\temp2604784549245794341.java
        System.out.println("文件绝对路径名:" + sFile.getAbsolutePath());
        
        
        //文件名:a.txt
        System.out.println("文件名:" + src.getName());
        
        //如果是绝对路径,返回完整路径,否则,相对路径
        //文件路径:E:\jar\a.txt
        System.out.println("文件路径:" + src.getPath());
        
        //文件绝对路径名:E:\jar\a.txt
        System.out.println("文件绝对路径名:" + src.getAbsolutePath());
        
        //绝对路径所对应的File对象:E:\jar\a.txt
        System.out.println("绝对路径所对应的File对象:" + src.getAbsoluteFile());
        
        //返回上级目录,如果是相对路径,返回null
        //文件的父目录(上级目录):E:\jar
        System.out.println("文件的父目录(上级目录):" + src.getParent());
    }
    
    public static void testJudgeInformation(){
        String path = "E:/jar/1.txt";
        File src = new File(path);
    
        //文件是否存在:true
        System.out.println("文件是否存在:" + src.exists());
        
        //文件是否可写:true
        System.out.println("文件是否可写:" + src.canWrite());
        
        if(src.isFile()){
            System.out.println("是文件");
        }else if(src.isDirectory()){
            System.out.println("文件夹");
        }else{
            System.out.println("文件不存在");
        }
        
        //是否为绝对路径:true
        System.out.println("是否为绝对路径:" + src.isAbsolute());
        
        System.out.println("长度为:" + src.length());
    }
    
    public static void testOperation() throws IOException{
        String path = "E:/jar/a.txt";
        File src = new File(path);
        
        //判断文件是否存在
        if(!src.exists()){
            //如果文件不存在,创建文件
            boolean flag = src.createNewFile();
            System.out.println(flag?"成功":"失败");
        }
        
        //将指定文件删除
        boolean flag = src.delete();
        System.out.println(flag?"成功":"失败");
    }
}

推荐阅读更多精彩内容