您的位置:首页 > 编程语言 > Java开发

java获取指定路径下文件的方法

2009-09-14 13:39 881 查看
目的:实现让用户选择一个路径 根据指定路径 读取路径下所有文件的名字 并显示

问题:没找到文件夹选择框,只有选择文件的方法

解决:用:<html:file property="myFile" ></html:file> 让用户指定一个文件

然后
//获取指定文件
File file = new File(filename);
//根据指定文件获取该文件所在的目录
filepath=file.getParentFile().toString();


最后
//根据上面获取到的路径 读取路径下的所有文件
File filelist = new File(filepath);
//list中就是指定文件所在目录下的所有文件的文件名
list = Arrays.asList( filelist.list());


完整工程:

<html:form    action="page/admin/users/fileload_insertAction.do">
请选择要上传的文件:<html:file property="myFile"  ></html:file>
<input type="submit" name="Submit" class="button" value="提  交"/>

</html:form>


action

//Created by MyEclipse Struts
// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.1.0/xslt/JavaClass.xsl

package zhiy.struts.admin.users.action;

import java.io.File;
import java.util.Arrays;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import zhiy.struts.admin.users.form.fileload;

/**
* MyEclipse Struts Creation date: 09-18-2006
*
* XDoclet definition:
*
* @struts.action path="/xtgl_xf_itemdefine_insert"
*                name="xtgl_xf_itemdefine_insertForm"
*                input="/page/xtgl/xfyemian/xf_itemdefine_insert.jsp"
*                scope="request" validate="true"
*/
public class fileload_insertAction extends Action {

// --------------------------------------------------------- Instance
// Variables

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
fileload insert = (fileload) form;
String filename =  insert.getMyFile();
String filepath = "";

List list = null;
if(filename !=null && !"".equals(filename)){
File file = new File(filename);
filepath=file.getParentFile().toString();

File filelist = new File(filepath);
list = Arrays.asList( filelist.list());

request.removeAttribute("msg");
request.setAttribute("msg",filepath);
}else{
request.removeAttribute("msg");
request.setAttribute("msg","该路径下没有指定文件");
}
request.removeAttribute("files");
request.setAttribute("files",list);

return mapping.findForward("success");
}

}


form

package zhiy.struts.admin.users.form;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

public class fileload extends ActionForm {
@Override
public void reset(ActionMapping arg0, HttpServletRequest arg1) {
// TODO Auto-generated method stub

}

@Override
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
ActionErrors errors = new ActionErrors();
if(myFile!= null && "".equals(myFile.toString())){
errors.add("x",new ActionMessage("x"));
request.removeAttribute("msg");
request.setAttribute("msg","请选择文件");
}
return errors;
}

private String myFile;

public String getMyFile() {
return myFile;
}

public void setMyFile(String myFile) {
this.myFile = myFile;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: