All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.quhaodian.web.utils.FileUtils Maven / Gradle / Ivy

package com.quhaodian.web.utils;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

/**
 * 文件工具类
 *
 * @author 张浩伟
 * @version 1.01 2017年08月30日
 */
public class FileUtils {

    public static class FileTree{
        /**
         * name
         */
        public String name;
        /**
         * path
         */
        public String path;
        /**
         * open 
         */
        public Boolean open;

        /**
         * dir是否是文件夹
         */
        public Boolean dir;

        /**
         * children 
         */
        public List children;

        /**
         * 更新时间
         */
        public Long lastTime;
        
    }

    public static List getTree(String path, String parent){
        List result = new ArrayList();
        List childs = new ArrayList();
        File file = new File(path);
        FileTree tree = new FileTree();
        tree.name = file.getName();
        tree.open = false;
        tree.path = parent;
        tree.dir = false;
        if (file.isDirectory()){
            tree.dir = true;
            File[] listFiles = file.listFiles();
            if (listFiles == null) {
                return result;
            }
            for (File listFile : listFiles) {
                FileTree child = new FileTree();
                child.name = listFile.getName();
                child.open = false;
                child.path = parent + "/" + listFile.getName();
                child.lastTime = listFile.lastModified();
                if (listFile.isDirectory()) {
                    System.out.println("path = " +path + "/" + child.name + "  parent = " + child.path);
                    childs.addAll(getTree(path + "/" + child.name, child.path));
                    child.dir = true;
                }else {
                    childs.add(child);
                    child.dir = false;
                }
            }
            tree.children = childs;
        }
        result.add(tree);
        return result;
    }

    /**
     * 读取文件
     * @param path
     *      文件路径
     * @return
     */
    public static String readFile(String path) {
        StringBuilder result= new StringBuilder();
        try {
            File file = new File(path);
            BufferedReader br = new BufferedReader(new FileReader(file));
            String s = null;
            while ((s = br.readLine())!= null){
                result.append(System.lineSeparator()).append(s);
            }
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result.toString();
    }

    /**
     * 保存文件
     * @param path 路径
     * @return
     */
    public static boolean saveFile(String path, String content) {
        File file = new File(path);
        try {
            FileWriter fw = new FileWriter(file, false);
            fw.write(content);
            fw.close();
            return true;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;
    }


    private static List  allFile = new ArrayList<>();

    public static List fileList(File file){
        if (file.isDirectory()){
            File[] listFiles = file.listFiles();
            for (File listFile : listFiles) {
                String newDir = file.getPath() + "/" + listFile.getName();
                File readfile = new File(newDir);
                if(readfile.isDirectory()){
                    fileList(readfile);
                }else{
                    String fileName = readfile.getPath();
                    allFile.add(fileName);
                }
            }
        }else{
            String fileName = file.getPath();
            allFile.add(fileName);
        }
        return allFile;
    }


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy