本文实例讲述了jsp编程获取当前目录下的文件和目录及windows盘符的方法。分享给大家供大家参考,具体如下:
(一)获取当前目录下的文件和目录
知识点
1 file对象的应用
2 listFiles()方法
3 isDirectory()方法,isFile()方法 判断是否为目录或是文件
4转换字符串方法toString
(1)创建一个file对象dir,
然后用listFiles()方法返回当前目录下所有文件
String path=request.getRealPath("/"); File dir=new File(path); File file[]=dir.listFiles();
(2)循环判断所返回的是否为目录,并显示出来:
<% for(int i=0;i"+file[i].toString()); } %>
(3)循环判断所返回的是否为目录,并显示出来:
<% for(int i=0;i"+file[i].toString()); } %>
程序:
<%@ page contentType="text/html;charset=GB2312"%> <%@ page import="java.io.*"%><% String path=request.getRealPath("/"); File dir=new File(path); File file[]=dir.listFiles();//用file对象的listFiles()方法返回指定目录下的文件 %> 当前<%=path%>
目录有: <% for(int i=0;i"+file[i].toString()); } %> 文件有: <% for(int i=0;i
"+file[i].toString()); } %>
(二)获取windows盘符
<%@ page contentType="text/html;charset=GB2312"%> <%@ page import="java.io.*"%> <% File[] roots=File.listRoots(); for(int i=0;i"+roots[i].getPath()); } %>
(三)将两个程序合并
<%@ page contentType="text/html;charset=GB2312"%> <%@ page import="java.io.*,java.util.*,java.net.*" %> <%! private final static int languageNo=0; //语言版本,0 : 中文; 1:英文 String[] strDrivers = {"驱动器","Drivers"}; String[] strCurrentFolder= {"当前目录","Current Folder"}; %> <% String path=request.getRealPath("/"); File dir=new File(path); File file[]=dir.listFiles();//用file对象的listFiles()方法返回指定目录下的文件 StringBuffer sb=new StringBuffer(strDrivers[languageNo] + " : "); File roots[]=File.listRoots(); for(int i=0;i"); sb.append(roots[i]+" "); } //out.println(sb); %> <% //out.print(" "); %>
"+strCurrentFolder[languageNo]+":
"+path+""+sb+"
<%=strCurrentFolder[languageNo]%>:
<%=path %><%=strDrivers[languageNo] %>:<%=sb%>
目录有: <% for(int i=0;i "+file[i].toString()); } %> 文件有: <% for(int i=0;i "+file[i].toString()); } %>
我们进一步的优化,实现
<%@ page contentType="text/html; charset=GBK" %> <%@page import="java.io.*,java.util.*,java.net.*" %> <%! private final static int languageNo=1; //语言版本,0 : 中文; 1:英文 String[] strCurrentFolder= {"当前目录","Current Folder"}; String[] strDrivers = {"驱动器","Drivers"}; String[] strFileName = {"文件名称","File Name"}; String[] strFileSize = {"文件大小","File Size"}; String[] strLastModified = {"最后修改","Last Modified"}; String[] strFileOperation= {"文件操作","Operations"}; String[] strFileEdit = {"修改","Edit"}; String[] strFileDown = {"下载","Download"}; String[] strFileCopy = {"复制","Move"}; String[] strFileDel = {"删除","Delete"}; String getDrivers() { StringBuffer sb=new StringBuffer(": "); File roots[]=File.listRoots(); for(int i=0;i"); sb.append(roots[i]+" "); } return sb.toString(); } String formatPath(String p) { StringBuffer sb=new StringBuffer(); for (int i = 0; i < p.length(); i++) { if(p.charAt(i)=='//') { sb.append("////"); } else { sb.append(p.charAt(i)); } } return sb.toString(); } public static String toChinese(String str) { try{ if(str==null) { return ""; }else { str=new String(str.getBytes("ISO8859_1"),"GBK"); return str; } }catch(Exception e) { return ""; } } %> <% request.setCharacterEncoding("gb2312"); String strDir =toChinese( request.getParameter("path")); if(strDir==null||strDir.length()<1) { strDir = request.getRealPath("/"); } StringBuffer sb=new StringBuffer(""); StringBuffer sbFile=new StringBuffer(""); try { File objFile = new File(strDir); File list[] = objFile.listFiles(); if(objFile.getAbsolutePath().length()>3) { sb.append(" /r/n"); } for(int i=0;i "); sb.append("To ParentFile
- - - -"); sb.append(""+list[i].getName()+""); sb.append(" "); } else { String strLen=""; String strDT=""; long lFile=0; lFile=list[i].length(); if(lFile>1000000) { lFile=lFile/1000000; strLen="" + lFile + " M"; } else if(lFile>1000) { lFile=lFile/1000; strLen="" + lFile + " K"; } else { strLen="" + lFile + " Byte"; } Date dt=new Date(list[i].lastModified()); strDT=dt.toLocaleString(); sbFile.append("/r/n"); } } } catch(Exception e) { out.println("error: "+e.toString()+""); } %> "); sbFile.append(""+list[i].getName()); sbFile.append(" "); sbFile.append(""+strLen); sbFile.append(" "); sbFile.append(""+strDT); sbFile.append(" "); sbFile.append(" "); sbFile.append(strFileEdit[languageNo]+" "); sbFile.append(" "); sbFile.append(strFileDown[languageNo]+" "); sbFile.append(" "); sbFile.append(strFileCopy[languageNo]+" "); sbFile.append(" "); sbFile.append(strFileDel[languageNo]+" "); sbFile.append("
<%=strCurrentFolder[languageNo]%>:
<%=strDir %><%=strDrivers[languageNo] %><%=getDrivers()%>
<%=sb%>
<%=strFileName[languageNo] %> <%=strFileSize[languageNo] %> <%=strLastModified[languageNo] %> <%=strFileOperation[languageNo] %> <%=sbFile %>
希望本文所述对大家jsp程序设计有所帮助。