福哥整理了APP里面操作文件/文件夹的方法,今天分享一下
福哥封装了一个对象 TFIO,包括了常用的功能
创建文件夹
写文件
读文件
判断类型
删除文件
删除文件夹
福哥建立了一个IOItem用来保存遍历元素
class TFIOItem{
    private String name;
    private String extension;
    private String absPath;
    public TFIOItem(){
    }
    public void Set(String fileName, String fileAbsPath){
        Integer fep, fnp;
        absPath = fileAbsPath;
        name = fileName;
        fep = name.lastIndexOf(".");
        extension = (fep != -1) ? name.substring(fep) : null ;
    }
    public String GetName(){
        return name;
    }
    public String GetExtension(){
        return extension;
    }
    public String GetAbsPath(){
        return absPath;
    }
}福哥建立了一个TFIO对象,用来操作文件/文件夹
public class TFIO {
    private TFIOItem[] items;
    public TFIO(){
    }
    protected void OnLoadItem(TFIOItem item){
    }
    public Boolean IsImage(Integer idx){
        String fileExt;
        fileExt = items[idx].GetExtension().toLowerCase();
        if(fileExt.equals(".jpg") || fileExt.equals(".png") || fileExt.equals(".gif") || fileExt.equals(".bmp") || fileExt.equals(".jpeg") || fileExt.equals(".pjpeg")){
            return true;
        }
        return false;
    }
    public Boolean IsDirectory(String absPath){
        File dir = new File(absPath);
        return (dir.exists() && dir.isDirectory());
    }
    public Boolean IsFile(String absPath){
        File file = new File(absPath);
        return (file.exists() && file.isFile());
    }
    public TFIOItem GetItem(Integer idx){
        return items[idx];
    }
    public TFIOItem[] GetItems(){
        return items;
    }
    public Integer GetCount(){
        return (items != null) ? items.length : 0 ;
    }
    public Boolean CreateDirectory(String absDirPath){
        File dir;
        dir = new File(absDirPath);
        dir.mkdirs();
        return dir.isDirectory();
    }
    public Boolean RemoveDirectory(String absDirPath){
        File dir;
        dir = new File(absDirPath);
        return dir.delete();
    }
    public Boolean RemoveFile(String absFilePath){
        File file;
        file = new File(absFilePath);
        return file.delete();
    }
    public String GetContents(String absFilePath){
        BufferedReader reader;
        String line, contents;
        try {
            reader = new BufferedReader(new FileReader(absFilePath));
            contents = "";
            while ((line = reader.readLine()) != null) {
                contents += line;
            }
            reader.close();
            return contents;
        }
        catch (Exception e){
            e.printStackTrace();
        }
        return null;
    }
    public Integer PutContents(String absFilePath, String contents){
        FileOutputStream fileWriter;
        try {
            fileWriter = new FileOutputStream(absFilePath);
            fileWriter.write(contents.getBytes());
            fileWriter.flush();
            fileWriter.close();
            return contents.length();
        }
        catch (Exception e){
            e.printStackTrace();
        }
        return 0;
    }
    public Integer LoadDirectories(String rootDirAbsPath){
        File dir;
        Integer i, l, fl;
        dir = new File(rootDirAbsPath);
        File[] subFile = dir.listFiles();
        if(subFile != null
            && subFile.length > 0){
            l = subFile.length;
            fl = 0;
            // count dirs
            for (i = 0; i < l; i++) {
                if (subFile[i].isDirectory()) {
                    fl++;
                }
            }
            if(fl > 0){
                items = new TFIOItem[fl];
                // save dirs
                fl = 0;
                for(i=0;i<l;i++){
                    if(subFile[i].isDirectory()){
                        items[fl] = new TFIOItem();
                        items[fl].Set(subFile[i].getName(), subFile[i].getAbsolutePath());
                        OnLoadItem(items[fl]);
                        fl ++;
                    }
                }
                return fl;
            }
        }
        return 0;
    }
    public Integer LoadFiles(String rootDirAbsPath){
        File dir;
        Integer i, l, fl;
        dir = new File(rootDirAbsPath);
        File[] subFile = dir.listFiles();
        if(subFile != null
            && subFile.length > 0){
            l = subFile.length;
            fl = 0;
            // count dirs
            for (i = 0; i < l; i++) {
                if (subFile[i].isFile()) {
                    fl++;
                }
            }
            if(fl > 0){
                items = new TFIOItem[fl];
                // save dirs
                fl = 0;
                for(i=0;i<l;i++){
                    if(subFile[i].isFile()){
                        items[fl] = new TFIOItem();
                        items[fl].Set(subFile[i].getName(), subFile[i].getAbsolutePath());
                        OnLoadItem(items[fl]);
                        fl ++;
                    }
                }
                return fl;
            }
        }
        return 0;
    }
}通过 CreateDirectory 建立文件夹,通过 IsDirectory 检测结果
TFIO tfio = new TFIO(); testDir = "/mnt/sdcard/tongfu.net"; tfio.CreateDirectory(testDir); tfio.IsDirectory(testDir);
通过 PutContents 写入内容到文件,通过 IsFile 检测结果
TFIO tfio = new TFIO(); testFile = "/mnt/sdcard/tongfu.net/io.txt"; tfio.PutContents(testFile, "TFIO"); tfio.IsFile(testFile); tfio.GetContents(testFile);
通过 RemoveFile 删除文件
TFIO tfio = new TFIO(); testFile = "/mnt/sdcard/tongfu.net/io.txt"; tfio.RemoveFile(testFile);
通过 RemoveDirectory 删除文件夹
TFIO tfio = new TFIO(); testFile = "/mnt/sdcard/tongfu.net/io.txt"; tfio.RemoveDirectory(testDir);