jsp编程获取当前目录下的文件和目录及windows盘符的方法
本文实例讲述了jsp编程获取当前目录下的文件和目录及windows盘符的方法。分享给大家供大家参考,具体如下:
(一)获取当前目录下的文件和目录
知识点
1file对象的应用
2listFiles()方法
3isDirectory()方法,isFile()方法判断是否为目录或是文件
4转换字符串方法toString
(1)创建一个file对象dir,
然后用listFiles()方法返回当前目录下所有文件
Stringpath=request.getRealPath("/"); Filedir=newFile(path); Filefile[]=dir.listFiles();
(2)循环判断所返回的是否为目录,并显示出来:
<% for(inti=0;i<file.length;i++) { if(file[i].isDirectory())// out.print("<br>"+file[i].toString()); } %>
(3)循环判断所返回的是否为目录,并显示出来:
<% for(inti=0;i<file.length;i++) { if(file[i].isFile()) out.print("<br>"+file[i].toString()); } %>
程序:
<%@pagecontentType="text/html;charset=GB2312"%> <%@pageimport="java.io.*"%> <html> <title></title> <body> <% Stringpath=request.getRealPath("/"); Filedir=newFile(path); Filefile[]=dir.listFiles();//用file对象的listFiles()方法返回指定目录下的文件 %> 当前<%=path%><br> 目录有: <% for(inti=0;i<file.length;i++) { if(file[i].isDirectory()) out.print("<br>"+file[i].toString()); } %> <p>文件有: <% for(inti=0;i<file.length;i++) { if(file[i].isFile()) out.print("<br>"+file[i].toString()); } %> </body> </html>
(二)获取windows盘符
<%@pagecontentType="text/html;charset=GB2312"%> <%@pageimport="java.io.*"%> <html> <body> <% File[]roots=File.listRoots(); for(inti=0;i<roots.length;i++) { out.print("<br>"+roots[i].getPath()); } %> </body> </html>
(三)将两个程序合并
<%@pagecontentType="text/html;charset=GB2312"%> <%@pageimport="java.io.*,java.util.*,java.net.*"%> <%! privatefinalstaticintlanguageNo=0;//语言版本,0:中文;1:英文 String[]strDrivers={"驱动器","Drivers"}; String[]strCurrentFolder={"当前目录","CurrentFolder"}; %> <html> <body> <% Stringpath=request.getRealPath("/"); Filedir=newFile(path); Filefile[]=dir.listFiles();//用file对象的listFiles()方法返回指定目录下的文件 StringBuffersb=newStringBuffer(strDrivers[languageNo]+":"); Fileroots[]=File.listRoots(); for(inti=0;i<roots.length;i++) { sb.append("<ahref=/"javascript:doForm('','"+roots[i]+"//','','','1','');/">"); sb.append(roots[i]+"</a> "); } //out.println(sb); %> <% //out.print("<tableborder='1'width='100%'bgcolor='#FFFFFF'cellspacing=0cellpadding=5bordercolorlight=#000000bordercolordark=#FFFFFF><tr><td>"+strCurrentFolder[languageNo]+":<br><b>"+path+"</td><td>"+sb+"</td></tr></table>"); %> <tableborder='1'width='100%'bgcolor='#FFFFFF'cellspacing=0cellpadding=5bordercolorlight=#000000bordercolordark=#FFFFFF> <tr> <tdwidth='40%'><%=strCurrentFolder[languageNo]%>:<br><%=path%></td><tdwidth='60%'><%=strDrivers[languageNo]%>:<%=sb%></td></tr> </table> <tableborder='1'width='100%'bgcolor='#FFFFFF'cellspacing=0cellpadding=5bordercolorlight=#000000bordercolordark=#FFFFFF> <tr> <tdwidth='40%'>目录有: <% for(inti=0;i<file.length;i++) { if(file[i].isDirectory()) out.print("<br>"+file[i].toString()); } %> </td> <tdwidth='60%'>文件有: <% for(inti=0;i<file.length;i++) { if(file[i].isFile()) out.print("<br>"+file[i].toString()); } %> </td> </tr> </table> </body> </html>
我们进一步的优化,实现
<%@pagecontentType="text/html;charset=GBK"%> <%@pageimport="java.io.*,java.util.*,java.net.*"%> <head> <styletype="text/css"> td,select,input,body{font-size:9pt;} A{text-decoration:none} #tablist{ padding:5px0; margin-left:0; margin-bottom:0; margin-top:0.1em; font:9pt; } #tablistli{ list-style:none; display:inline; margin:0; } #tablistlia{ padding:3px0.5em; margin-left:3px; border:1pxsolid; background:#FFFFFF; } #tablistlia:link,#tablistlia:visited{ color:navy; } #tablistlia.current{ background:#FFFFFF; } #tabcontentcontainer{ width:100%; padding:5px; border:1pxsolidblack; } .tabcontent{ display:none; } </style> </head> <%! privatefinalstaticintlanguageNo=1;//语言版本,0:中文;1:英文 String[]strCurrentFolder={"当前目录","CurrentFolder"}; String[]strDrivers={"驱动器","Drivers"}; String[]strFileName={"文件名称","FileName"}; String[]strFileSize={"文件大小","FileSize"}; String[]strLastModified={"最后修改","LastModified"}; String[]strFileOperation={"文件操作","Operations"}; String[]strFileEdit={"修改","Edit"}; String[]strFileDown={"下载","Download"}; String[]strFileCopy={"复制","Move"}; String[]strFileDel={"删除","Delete"}; StringgetDrivers() { StringBuffersb=newStringBuffer(":"); Fileroots[]=File.listRoots(); for(inti=0;i<roots.length;i++) { sb.append("<ahref='?path="+roots[i]+"'>"); sb.append(roots[i]+"</a> "); } returnsb.toString(); } StringformatPath(Stringp) { StringBuffersb=newStringBuffer(); for(inti=0;i<p.length();i++) { if(p.charAt(i)=='//') { sb.append("////"); } else { sb.append(p.charAt(i)); } } returnsb.toString(); } publicstaticStringtoChinese(Stringstr) { try{ if(str==null) { return""; }else { str=newString(str.getBytes("ISO8859_1"),"GBK"); returnstr; } }catch(Exceptione) { return""; } } %> <% request.setCharacterEncoding("gb2312"); StringstrDir=toChinese(request.getParameter("path")); if(strDir==null||strDir.length()<1) { strDir=request.getRealPath("/"); } StringBuffersb=newStringBuffer(""); StringBuffersbFile=newStringBuffer(""); try { FileobjFile=newFile(strDir); Filelist[]=objFile.listFiles(); if(objFile.getAbsolutePath().length()>3) { sb.append("<tr><td> </td><td><ahref='?path="+formatPath(objFile.getParentFile ().getAbsolutePath())+"'>"); sb.append("ToParentFile</a><br>----</td></tr>/r/n"); } for(inti=0;i<list.length;i++) { if(list[i].isDirectory()) { sb.append("<tr><td> </td><td>"); sb.append("<ahref='?path="+formatPath(list[i].getAbsolutePath())+"'>"+list[i].getName()+"</a>"); sb.append("</td></tr>"); } else { StringstrLen=""; StringstrDT=""; longlFile=0; lFile=list[i].length(); if(lFile>1000000) { lFile=lFile/1000000; strLen=""+lFile+"M"; } elseif(lFile>1000) { lFile=lFile/1000; strLen=""+lFile+"K"; } else { strLen=""+lFile+"Byte"; } Datedt=newDate(list[i].lastModified()); strDT=dt.toLocaleString(); sbFile.append("<tr><td>"); sbFile.append(""+list[i].getName()); sbFile.append("</td><td>"); sbFile.append(""+strLen); sbFile.append("</td><td>"); sbFile.append(""+strDT); sbFile.append("</td><td>"); sbFile.append("<ahref=>"); sbFile.append(strFileEdit[languageNo]+"</a>"); sbFile.append("<ahref=>"); sbFile.append(strFileDown[languageNo]+"</a>"); sbFile.append("<ahref=>"); sbFile.append(strFileCopy[languageNo]+"</a>"); sbFile.append("<ahref=>"); sbFile.append(strFileDel[languageNo]+"</a>"); sbFile.append("</td></tr>/r/n"); } } } catch(Exceptione) { out.println("<fontcolor=red>error:"+e.toString()+"</font>"); } %> <tableborder='1'width='100%'bgcolor='#FFFFFF'cellspacing=0cellpadding=5bordercolorlight=#000000bordercolordark=#FFFFFF> <tr> <tdwidth='20%'><%=strCurrentFolder[languageNo]%>:<br><%=strDir%></td><tdwidth='70%'><%=strDrivers[languageNo]%><%=getDrivers()%> </td> </tr> </table> <tableborder='1'width='100%'bgcolor='#FFFFFF'cellspacing=0cellpadding=5bordercolorlight=#000000bordercolordark=#FFFFFF> <tr> <tdwidth='20%'valign="top"> <table> <tr><td><%=sb%></td> </tr> </table> </td> <tdwidth='70%'align="center"valign="top"> <tablewidth="100%"border="1"cellspacing="1"cellpadding="4"bordercolorlight="#000000"bordercolordark="#FFFFFF"> <tr> <tdwidth="26%"align="center"><%=strFileName[languageNo]%></td> <tdwidth="19%"align="center"><%=strFileSize[languageNo]%></td> <tdwidth="29%"align="center"><%=strLastModified[languageNo]%></td> <tdwidth="26%"align="center"><%=strFileOperation[languageNo]%></td></tr> <tr><tdwidth="25%"align="center"><%=sbFile%></td></tr> </table> </td> </tr> </table>
希望本文所述对大家jsp程序设计有所帮助。