本文实例讲述了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.length;i++) { if(file[i].isDirectory())// out.print("<br>"+file[i].toString()); } %>
(3)循环判断所返回的是否为目录,并显示出来:
<% for(int i=0;i<file.length;i++) { if(file[i].isFile()) out.print("<br>"+file[i].toString()); } %>
程序:
<%@ page contentType="text/html;charset=GB2312"%> <%@ page import="java.io.*"%> <html> <title></title> <body> <% String path=request.getRealPath("/"); File dir=new File(path); File file[]=dir.listFiles();//用file对象的listFiles()方法返回指定目录下的文件 %> 当前<%=path%><br> 目录有: <% for(int i=0;i<file.length;i++) { if(file[i].isDirectory()) out.print("<br>"+file[i].toString()); } %> <p>文件有: <% for(int i=0;i<file.length;i++) { if(file[i].isFile()) out.print("<br>"+file[i].toString()); } %> </body> </html>
(二)获取windows盘符
<%@ page contentType="text/html;charset=GB2312"%> <%@ page import="java.io.*"%> <html> <body> <% File[] roots=File.listRoots(); for(int i=0;i<roots.length;i++) { out.print("<br>"+roots[i].getPath()); } %> </body> </html>
(三)将两个程序合并
<%@ 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"}; %> <html> <body> <% 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<roots.length;i++) { sb.append(" <a href=/"javascript:doForm('','"+roots[i]+"//','','','1','');/">"); sb.append(roots[i]+"</a> "); } //out.println(sb); %> <% //out.print("<table border='1' width='100%' bgcolor='#FFFFFF' cellspacing=0 cellpadding=5 bordercolorlight=#000000 bordercolordark=#FFFFFF><tr><td>"+strCurrentFolder[languageNo]+":<br><b>"+path+"</td><td>"+sb+"</td></tr></table>"); %> <table border='1' width='100%' bgcolor='#FFFFFF' cellspacing=0 cellpadding=5 bordercolorlight=#000000 bordercolordark=#FFFFFF> <tr> <td width='40%'><%=strCurrentFolder[languageNo]%>:<br><%=path %></td><td width='60%'><%=strDrivers[languageNo] %>:<%=sb%></td></tr> </table> <table border='1' width='100%' bgcolor='#FFFFFF' cellspacing=0 cellpadding=5 bordercolorlight=#000000 bordercolordark=#FFFFFF> <tr> <td width='40%'>目录有: <% for(int i=0;i<file.length;i++) { if(file[i].isDirectory()) out.print("<br>"+file[i].toString()); } %> </td> <td width='60%'>文件有: <% for(int i=0;i<file.length;i++) { if(file[i].isFile()) out.print("<br>"+file[i].toString()); } %> </td> </tr> </table> </body> </html>
我们进一步的优化,实现
<%@ page contentType="text/html; charset=GBK" %> <%@page import="java.io.*,java.util.*,java.net.*" %> <head> <style type="text/css"> td,select,input,body{font-size:9pt;} A { text-decoration: none } #tablist{ padding: 5px 0; margin-left: 0; margin-bottom: 0; margin-top: 0.1em; font:9pt; } #tablist li{ list-style: none; display: inline; margin: 0; } #tablist li a{ padding: 3px 0.5em; margin-left: 3px; border: 1px solid ; background: #FFFFFF; } #tablist li a:link, #tablist li a:visited{ color: navy; } #tablist li a.current{ background: #FFFFFF; } #tabcontentcontainer{ width: 100%; padding: 5px; border: 1px solid black; } .tabcontent{ display:none; } </style> </head> <%! 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<roots.length;i++) { sb.append("<a href='"+roots[i]+"'>"); sb.append(roots[i]+"</a> "); } 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("<tr><td > </td><td><a href='"+formatPath(objFile.getParentFile ().getAbsolutePath())+"'>"); sb.append("To ParentFile</a><br>- - - - </td></tr>/r/n"); } for(int i=0;i<list.length;i++) { if(list[i].isDirectory()) { sb.append("<tr><td> </td><td>"); sb.append("<a href='"+formatPath(list[i].getAbsolutePath())+"'>"+list[i].getName()+"</a>"); sb.append("</td></tr>"); } 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("<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(" <a href=>"); sbFile.append(strFileEdit[languageNo]+"</a> "); sbFile.append(" <a href=>"); sbFile.append(strFileDown[languageNo]+"</a> "); sbFile.append(" <a href=>"); sbFile.append(strFileCopy[languageNo]+"</a> "); sbFile.append(" <a href=>"); sbFile.append(strFileDel[languageNo]+"</a> "); sbFile.append("</td></tr>/r/n"); } } } catch(Exception e) { out.println("<font color=red>error: "+e.toString()+"</font>"); } %> <table border='1' width='100%' bgcolor='#FFFFFF' cellspacing=0 cellpadding=5 bordercolorlight=#000000 bordercolordark=#FFFFFF> <tr> <td width='20%'><%=strCurrentFolder[languageNo]%>:<br><%=strDir %></td><td width='70%'><%=strDrivers[languageNo] %><%=getDrivers()%> </td> </tr> </table> <table border='1' width='100%' bgcolor='#FFFFFF' cellspacing=0 cellpadding=5 bordercolorlight=#000000 bordercolordark=#FFFFFF> <tr> <td width='20%'valign="top"> <table > <tr><td><%=sb%></td> </tr> </table> </td> <td width='70%'align="center" valign="top"> <table width="100%"border="1" cellspacing="1" cellpadding="4" bordercolorlight="#000000" bordercolordark="#FFFFFF"> <tr> <td width="26%" align="center"><%=strFileName[languageNo] %></td> <td width="19%" align="center"><%=strFileSize[languageNo] %></td> <td width="29%" align="center"><%=strLastModified[languageNo] %></td> <td width="26%" align="center"><%=strFileOperation[languageNo] %></td></tr> <tr><td width="25%" align="center"><%=sbFile %></td></tr> </table> </td> </tr> </table>
希望本文所述对大家jsp程序设计有所帮助。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]