日期:2014-05-20 浏览次数:20804 次
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); }
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);这里会报空指针。
------解决方案--------------------
List<String> fileList = null; 改成List<String> fileList = new ArrayList<String>();
------解决方案--------------------
可能不是太好,这样你只考虑到了第一层,如果文件夹里面还有文件夹的情况就没考虑了。而且你的判断也不对。给你一段参考一下
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); } } } }