Java文件/文件夹基本操作

文件基本操作:

 

package file;

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

/**
 * @Author YangHe
 * @Date 2020/4/12 20:41
 * 对文件的基本操作
 */
public class FileOperation {

    /**
     * 创建文件
     * @param path
     * @param fileName
     * @return
     */
    public static boolean createFile(String path,String fileName){
        String str=path+"\\"+fileName;
        File file=new File(str);
        if(file.exists()){    //可以判断目录或者文件是否存在
            System.out.println("文件存在,删除重建!");
            deleteFile(str);
        }
        try {
            file.createNewFile();
        } catch (IOException e) {
            return false;
        }
        return true;
    }

    /**
     * 删除文件
     * @param path
     * @return
     */
    public static boolean deleteFile(String path){
        File file=new File(path);
        if(file.exists()){   //可以判断目录或者文件是否存在
            return file.delete();
        }else{
            System.out.println("文件不存在,无法删除!");
            return true;
        }
    }

    /**
     * 更改文件名
     * @param path
     * @param newFileName
     * @return
     */
    public static boolean renameTo(String path,String newFileName){
        File file=new File(path);
        if(file.exists()){
            File file2=new File(file.getParent()+"\\"+newFileName);
            return file.renameTo(file2);
        }else{
            System.out.println("文件不存在,无法更改!");
            return false;
        }
    }

    /**
     * 获取文件信息
     * @param path
     */
    public static void getFileInfo(String path){
        File file=new File(path);
        if(file.exists()){
            System.out.println("1.获取文件名或者路径名:"+file.getName());
            System.out.println("2.获取File对象对应路径名:"+file.getPath());
            System.out.println("3.获取File对象绝对路径:"+file.getAbsolutePath());
            System.out.println("4.获取File对象父目录:"+file.getParent());
            System.out.println("5.获取文件最后修改时间:"+file.lastModified());
            System.out.println("6.获取文件长度:"+file.length());
            System.out.println("7.判断File对象是否可读:"+file.canRead());
            System.out.println("8.判断File对象是否可写:"+file.canWrite());
            System.out.println("9.判断File对象是否为文件:"+file.isFile());
            System.out.println("10.判断File对象是否为文件夹:"+file.isDirectory());
            System.out.println("11.判断File对象是否为绝对路径:"+file.isAbsolute());
        }else{
            System.out.println("文件不存在,无法获取文件信息");
        }
    }

    /**
     * 创建临时文件,虚拟机退出时删除文件
     * @param directory
     */
    public static void createTempFile(String directory){
        File file=new File(directory);
        try {
            File file1=File.createTempFile("aaa",".txt",file); //创建临时文件
            file1.deleteOnExit();  //虚拟机退出时删除该文件
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        String path="D:\\temp";
        String fileName="test.txt";
        String str=path+"\\"+fileName;
        //System.out.println(createFile(path,fileName));
        //System.out.println(deleteFile(str));
        //System.out.println(renameTo(str,"test.txt"));
        // createTempFile(path);
        getFileInfo(str);
    }
}

 文件夹基本操作:

 

package file;

import java.io.File;

/**
 * @Author YangHe
 * @Date 2020/4/12 21:16
 * 目录的相关操作
 */
public class FolderOperation {

    /**
     * 创建文件夹
     * @param directory
     * @return
     */
    public static boolean createFolder(String directory){
        File file=new File(directory);
        if(file.exists()){
            System.out.println("文件夹存在,先删除再重建!");
            deleteFolder(directory);
        }
        return file.mkdirs();//mkdir 创建只能创建一层目录,当上一级目录不存则程序报异常,mkdirs 可以创建多层目录
    }

    /**
     * 删除文件夹
     * @param directory
     * @return
     */
    public static boolean deleteFolder(String directory){
        File file=new File(directory);
        if(file.exists()){
            return file.delete();
        }else{
            System.out.println("文件夹不存在,无法删除!");
            return true;
        }
    }

    /**
     * 获取路径下文件夹或者文件
     * @param directory
     */
    public static void getList(String directory){
        File file=new File(directory);
        if(file.exists()){
            String[] files=file.list();  //列出File对象下的所有子文件名和路径名,返回String数组
            File[] files1s=file.listFiles();//列出File对象下的所有子文件夹和路径,返回File数组
            for(String str : files){
                System.out.println(str);
            }
        }else{
            System.out.println("文件夹不存在");
        }

    }

    public static void main(String[] args) {
        String directory="D:\\temp\\yanghe";
        //System.out.println(createFolder(directory));
        //System.out.println(deleteFolder(directory));
        getList("D:\\WorkSpace");
    }
}

 

posted @ 2019-10-21 19:56  Cool_Yang  阅读(597)  评论(0编辑  收藏  举报