su123456
jsp获取当前目录下的文件和目录,获取windows盘符

这是我在学习JSP中看到的其中一份很好的帖,所以就发上来了~~

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.isDirectory())//

out.print(" *本站禁止HTML标签噢* "+file.toString());

}

%>

(3)

循环判断所返回的是否为目录,并显示出来

文件有

<%

for(int i=0;i<file.length;i++)

{

if(file.isFile())

out.print(" *本站禁止HTML标签噢* "+file.toString());

}

%>

程序

<%@ page contentType="text/html;charset=GB2312"%>

<%@ page import="java.io.*"%>

*本站禁止HTML标签噢*

*本站禁止HTML标签噢* </title>

*本站禁止HTML标签噢*

<%

String path=request.getRealPath("/");

File dir=new File(path);

File file[]=dir.listFiles();//用file对象的listFiles()方法返回指定目录下的文件

%>

当前<%=path%> *本站禁止HTML标签噢*

目录有:

<%

for(int i=0;i<file.length;i++)

{

if(file.isDirectory())

out.print(" *本站禁止HTML标签噢* "+file.toString());

}

%>

*本站禁止HTML标签噢* 文件有:

<%

for(int i=0;i<file.length;i++)

{

if(file.isFile())

out.print(" *本站禁止HTML标签噢* "+file.toString());

}

%>

</body>

</html>

(二)获取windows盘符

<%@ page contentType="text/html;charset=GB2312"%>

<%@ page import="java.io.*"%>

*本站禁止HTML标签噢*

*本站禁止HTML标签噢*

<%

File[] roots=File.listRoots();

for(int i=0;i<roots.length;i++)

{

out.print(" *本站禁止HTML标签噢* "+roots.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标签噢*

*本站禁止HTML标签噢*

<%

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+"">");

sb.append(roots+"</a> ");

}

//out.println(sb);

%>

<%

//out.print("<table border='1' width='100%' bgcolor='#FFFFFF' cellspacing=0 cellpadding=5 bordercolorlight=#000000 bordercolordark=#FFFFFF> *本站禁止HTML标签噢* *本站禁止HTML标签噢* "+strCurrentFolder[languageNo]+": *本站禁止HTML标签噢* *本站禁止HTML标签噢* "+path+"</td> *本站禁止HTML标签噢* "+sb+"</td></tr></table>");

%>

<table border='1' width='100%' bgcolor='#FFFFFF' cellspacing=0 cellpadding=5 bordercolorlight=#000000 bordercolordark=#FFFFFF>

*本站禁止HTML标签噢*

<td width='40%'><%=strCurrentFolder[languageNo]%>: *本站禁止HTML标签噢* <%=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>

*本站禁止HTML标签噢*

<td width='40%'>目录有:

<%

for(int i=0;i<file.length;i++)

{

if(file.isDirectory())

out.print(" *本站禁止HTML标签噢* "+file.toString());

}

%>

</td>

<td width='60%'>文件有:

<%

for(int i=0;i<file.length;i++)

{

if(file.isFile())

out.print(" *本站禁止HTML标签噢* "+file.toString());

}

%>

</td>

</tr>

</table>

</body>

</html>

如图

我们进一步的优化,实现

<%@ page contentType="text/html; charset=GBK" %>

< import="java.io.*,java.util.*,java.net.*" %>

*本站禁止HTML标签噢*

<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+"'>");

sb.append(roots+"</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("[url=]\\\\[/url]");

}

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(" *本站禁止HTML标签噢* <td > </td> *本站禁止HTML标签噢* <a href='?path="+formatPath(objFile.getParentFile

().getAbsolutePath())+"'>");

sb.append("To ParentFile</a> *本站禁止HTML标签噢* - - - - </td></tr>\r\n");

}

for(int i=0;i<list.length;i++)

{

if(list.isDirectory())

{

sb.append(" *本站禁止HTML标签噢* *本站禁止HTML标签噢*  </td> *本站禁止HTML标签噢* ");

sb.append("<a href='?path="+formatPath(list.getAbsolutePath())+"'>"+list.getName()+"</a>");

sb.append("</td></tr>");

}

else

{

String strLen="";

String strDT="";

long lFile=0;

lFile=list.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.lastModified());

strDT=dt.toLocaleString();

sbFile.append(" *本站禁止HTML标签噢* *本站禁止HTML标签噢* ");

sbFile.append(""+list.getName());

sbFile.append("</td> *本站禁止HTML标签噢* ");

sbFile.append(""+strLen);

sbFile.append("</td> *本站禁止HTML标签噢* ");

sbFile.append(""+strDT);

sbFile.append("</td> *本站禁止HTML标签噢* ");

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>

*本站禁止HTML标签噢*

<td width='20%'><%=strCurrentFolder[languageNo]%>: *本站禁止HTML标签噢* <%=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>

*本站禁止HTML标签噢*

<td width='20%'valign="top">

<table >

*本站禁止HTML标签噢* *本站禁止HTML标签噢* <%=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">

*本站禁止HTML标签噢*

<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>

*本站禁止HTML标签噢* <td width="25%" align="center"><%=sbFile %></td></tr>

</table>

</td>

</tr>

</table>

来源于:http://hi.baidu.com/forhack/item/d071a5b6a8d38b95184697cc

欢迎大家一起交流心得。我是JSP初学者

zw蓝魔
Q妹纸
帖子可能转到程序语言更合适
展开Biu

谢楼主,帖子可能转到程序语言更合适~ @Whisper1166

[查看全文]
邪月梦妖
求助:肿么用js实现百度旅游编写游记中添加行程的功能?

新人跪求啊,要做一个网站,但是DW用得也不是很熟,但是也不想随便应付一下,那个添加行程的效果不知道该如何实现,是用标签页的话,不知道怎么点击添加行程按钮就可以添加一个标签页#10t

求勾搭啊,好痛苦的说,作业神马的好纠结,又临近期末考试了~49!

冠希♂文
小白求救命

php网站里,在后台做个按钮,可以手动选择生成静态文件这种应该怎么做啊,累觉不爱啊

=578=

冠希♂文
我都不会
展开Biu

pureboys 发表于 2013-7-3 19:41

[mw_shl_code=php,true]error_reporting(0);

$id = $_GET;

if($id < 3){

我都不会,怎么喷

[查看全文]
pureboys
随便写的
展开Biu

[mw_shl_code=php,true]error_reporting(0);

$id = $_GET[id];

if($id < 3){

$content = file_get_contents('b.txt');

$f = fopen('var_'.$id.'.html','w');

if($f){

fwrite($f,$content);

}

fclose($f);

$id++;

echo " *本站禁止HTML标签噢* location.href='a.php?id=".$id."'</script>";

}

[/mw_shl_code]

随便写的,让你找找思路,莫喷。

[查看全文]
冠希♂文
怎么都觉得很奇怪很别扭
展开Biu

aesbovis 发表于 2013-6-26 12:01

不会吧,静态化,怎么都觉得很奇怪很别扭,你们经理大概想要的是伪静态

当时的网站是伪静态的了,他就是要我弄成静态的

[查看全文]
论极语易
路过看一眼
展开Biu

学ASP.NET路过看一眼

[查看全文]
aesbovis
怎么都觉得很奇怪很别扭
展开Biu

不会吧,静态化,怎么都觉得很奇怪很别扭,你们经理大概想要的是伪静态

[查看全文]
冠希♂文
的写法网上有
展开Biu

戳下啊 发表于 2013-3-21 18:51

.htaccess的写法网上有,文件里面的要按钮来触发的就是一个if语句。具体太长,你百度个文件去看看 ...

写出来那些文件怎么连接?→▁→对不起,我就是这么逊

[查看全文]
戳下啊
要求那个我贴了图你看一下第
展开Biu

冠希♂文 发表于 2013-3-21 15:10

要求那个我贴了图你看一下第11发

.htaccess的写法网上有,文件里面的要按钮来触发的就是一个if语句。具体太长,你百度个文件去看看

[查看全文]
狂奔的瘦子
加油吧骚年
展开Biu

冠希♂文 发表于 2013-3-21 16:43

thank

加油吧骚年....@88#

[查看全文]
查看更多
cctvjj
免费的论文查重网站

给大家推荐一个免费的论文查重网站PaperFree:http://www.paperfree.cn