`
huibin
  • 浏览: 756791 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

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

    博客分类:
  • JAVA
阅读更多

(一)获取当前目录下的文件和目录

知识点


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>&nbsp;");
}
//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='?path="+roots[i]+"'>");
sb.append(roots[i]+"</a> &nbsp;&nbsp;");
}
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 >&nbsp;</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>&nbsp;</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>


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huoyuming/archive/2009/02/19/3910670.aspx
分享到:
评论

相关推荐

    jsp编程获取当前目录下的文件和目录及windows盘符的方法

    本文实例讲述了jsp编程获取当前目录下的文件和目录及windows盘符的方法。分享给大家供大家参考,具体如下: (一)获取当前目录下的文件和目录 知识点 1 file对象的应用 2 listFiles()方法 3 isDirectory()方法,isFile...

    JSP输出所在目录文件信息

    在这个场景中,我们的目标是使用JSP来获取并输出当前index页面所在目录的文件信息。下面我们将深入探讨如何实现这一功能,以及涉及的相关知识点。 首先,我们需要理解**JSP生命周期**。一个JSP页面在服务器上会经历...

    jsp 对文件的操作

    在JSP页面中,通常需要先获取当前页面所在的物理路径,以便于后续的文件操作。这可以通过`request.getRealPath("")`方法来实现。 ```jsp String path = request.getRealPath(""); ``` 这里`request`对象是内置的对象...

    JSP动态文件目录树

    这通常通过Java的`java.io.File`类完成,可以遍历指定路径下的所有文件和子目录,收集它们的信息,如路径、名称、是否为目录等。 2. **数据处理**:将获取到的文件信息转化为适合展示的数据结构,例如树形结构...

    JSP获取客户端IP地址浏览器版本操作系统.pdf

    获取客户端IP地址、浏览器版本和操作系统信息在JSP中的实现方法 在JSP中,获取客户端的IP地址、浏览器版本和操作系统信息是非常重要的。通过使用HttpServletRequest对象,我们可以获取到客户端的相关信息。 获取...

    jsp获取系统当前时间

    JSP获取系统当前时间 JSP(Java Server Pages)是一种服务器端脚本语言,可以用来获取系统当前时间。下面是一个使用JSP获取系统当前时间的示例代码。 标题:JSP获取系统当前时间 描述:运用JSP编写可以获取系统...

    jsp中获取当前目录的方法

    本文实例讲述了jsp中获取当前目录的实现方法,分享给大家供大家参考。具体实现方法如下: 1、利用System.getProperty()函数获取当前路径: 代码如下:System.out.println(System.getProperty(“user.dir”));//user....

    在JSP页面获取当前时间

    ### 在JSP页面获取当前时间 #### 知识点概览 1. **JSP页面中的日期和时间处理** 2. **使用`new Date()`获取当前时间** 3. **格式化日期** 4. **字符串操作与日期解析** #### 详细说明 **1. JSP页面中的日期和时间...

    jsp获取电脑信息控件

    其次,Windows Management Instrumentation (WMI) 是微软提供的一种管理系统和硬件资源的接口,它允许应用程序获取和操作系统的各种信息。在Java中,我们可以使用J-Interop库来与WMI进行交互。J-Interop是一个Java到...

    jsp获取文件完整路径

    可以获取文件完整路径,不过要求环境是在windows下的google浏览器,应为不同浏览器,不同操作系统下获取文件路径方法不同,我没有找到通用的方法,因为浏览器处于安全考虑本身就禁止访问本地中的文件系统。

    JAVA类,JSP,Servlet获取工程路径.txt

    在Java Web开发过程中,经常需要获取项目的根目录或某个特定资源文件的绝对路径。这些路径信息对于加载资源文件、处理文件上传下载等功能至关重要。本文将详细介绍在Eclipse环境中通过JSP、Servlet以及Java类获取...

    jsp+servlet文件上传数据库和下载

    在Java Web开发中,"jsp+servlet文件上传数据库和下载"是常见的功能需求,涉及到的主要技术包括JSP(JavaServer Pages)、Servlet、文件处理以及数据库操作。以下将详细阐述这些知识点。 1. JSP(JavaServer Pages...

    JSP中得到几种得到路径的方法

    本文将深入探讨在JSP中获取不同路径的方法,包括它们的应用场景、实现方式以及可能的影响,帮助开发者更好地理解和掌握JSP环境下的路径管理。 ### 1. 获取包含工程名的当前页面全路径 在JSP中,`request....

    jsp实现获取当前系统时间

    jsp实现获取当前系统时间,年月日及星期几

    Jsp实现文件上传获取

    Jsp 实现的图片上传,可以在服务器端获取上传的图片、文本文件等。

    爬虫jsp获取网页源码

    在JSP环境下,我们可以通过编写后端代码来实现这一功能,同时结合前端交互,使得用户可以输入特定网址来获取其源码。 首先,我们需要了解JSP的基础。JSP是一种动态网页开发技术,它允许将Java代码嵌入到HTML或XML文...

    js jsp 调用系统目录

    例如,获取某个目录下的文件列表,创建新的目录等。但是,这些操作都应谨慎处理,避免安全风险,例如确保用户没有权限执行不应该执行的操作。 总结一下,虽然JavaScript直接调用系统目录在HTTP环境下不推荐,但在...

    jsp中获取地址的写法

    在Java Server Pages (JSP) 技术中,经常需要获取当前页面所在的上下文路径(context path)以及基础路径(base path),这对于实现资源定位、URL重写等功能非常重要。下面我们将详细介绍如何通过 JSP 获取这些路径。 #...

Global site tag (gtag.js) - Google Analytics