jsp编程获取当前目录下的文件和目录及windows盘符的方法
内容摘要
本文实例讲述了jsp编程获取当前目录下的文件和目录及windows盘符的方法。分享给大家供大家参考,具体如下:
(一)获取当前目录下的文件和目录
知识点
1 file对象的应用
2 listF
(一)获取当前目录下的文件和目录
知识点
1 file对象的应用
2 listF
文章正文
本文实例讲述了jsp编程获取当前目录下的文件和目录及windows盘符的方法。分享给大家供大家参考,具体如下:
(一)获取当前目录下的文件和目录
知识点
1 file对象的应用
2 listFiles()方法
3 isDirectory()方法,isFile()方法 判断是否为目录或是文件
4转换字符串方法toString
(1)创建一个file对象dir,
然后用listFiles()方法返回当前目录下所有文件
1 2 3 | String path=request.getRealPath( "/" ); File dir= new File(path); File file[]=dir.listFiles(); |
(2)循环判断所返回的是否为目录,并显示出来:
1 2 3 4 5 6 7 | <% for (int i=0;i<file.length;i++) { if (file[i].isDirectory()) // out. print ( "<br>" +file[i].toString()); } %> |
(3)循环判断所返回的是否为目录,并显示出来:
1 2 3 4 5 6 7 | <% for (int i=0;i<file.length;i++) { if (file[i].isFile()) out. print ( "<br>" +file[i].toString()); } %> |
程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <%@ 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盘符
1 2 3 4 5 6 7 8 9 10 11 12 13 | <%@ 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> |
(三)将两个程序合并
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <%@ 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> |
我们进一步的优化,实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | <%@ 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='?path=" +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='?path=" +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='?path=" +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程序设计有所帮助。
代码注释