当前位置: 代码迷 >> J2SE >> 怎么读取一个文件夹里文件的文件名
  详细解决方案

怎么读取一个文件夹里文件的文件名

热度:385   发布时间:2016-04-24 01:31:50.0
求助:如何读取一个文件夹里文件的文件名
Java code
public void readFiles(){        File file = new File("/file/" + this.getUserName());        File[] files = null;        if(file != null){            files = file.listFiles();        }        List<String> fileList = null;        for(File f : files){            String fileName = f.getName();            fileList.add(fileName);        }        ActionContext.getContext().put("files", fileList);    }


我需要读取一个用户自己文件夹里的所有文件,并保存在一个List里面。上面的代码有什么问题吗?

------解决方案--------------------
如果只取得当前文件夹里的文件名的话只要用file.list()就可以了。
Java code
public static void main(String[] args) {        File file = new File("E:\\");        for (String filename : file.list())            System.out.println(filename);    }
------解决方案--------------------
List<String> fileList = null;改成
 List<String> fileList = new ArrayList<String>();
不然 fileList.add(fileName);这里会报空指针
------解决方案--------------------
Java code
List<String> fileList = null;改成List<String> fileList = new ArrayList<String>();
------解决方案--------------------
可能不是太好,这样你只考虑到了第一层,如果文件夹里面还有文件夹的情况就没考虑了。而且你的判断也不对。给你一段参考一下
Java code
    public void getFilesName(List<String> list, File dir){        if(dir.exists() && dir.isDirectory()){            File[] files = dir.listFiles();            for(File f : files){                if(f.isFile()){                    list.add(f.getName());                }else{                    getFilesName(list, f);                }            }        }    }
  相关解决方案