首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-04-14 
求助:如何读取一个文件夹里文件的文件名Java codepublic void readFiles(){File file new File(/file/

求助:如何读取一个文件夹里文件的文件名

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);                }            }        }    } 

热点排行