jsp获取当前目录下的文件和目录,获取windows盘符
转:https://blog.csdn.net/huoyuming/article/details/3910670
(一)获取当前目录下的文件和目录
知识点
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
if(file[i].isDirectory())//
out.print("
"+file[i].toString());
}
%>
(3)
循环判断所返回的是否为目录,并显示出来
文件有
<%
for(int i=0;i
if(file[i].isFile())
out.print("
"+file[i].toString());
}
%>
程序
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.io.*"%>
<%
String path=request.getRealPath("/");
File dir=new File(path);
File file[]=dir.listFiles();//用file对象的listFiles()方法返回指定目录下的文件
%>
当前<%=path%>
目录有: 文件有: (二)获取windows盘符 <%@ page contentType="text/html;charset=GB2312"%>
<%
for(int i=0;i
if(file[i].isDirectory())
out.print("
"+file[i].toString());
}
%>
<%
for(int i=0;i
if(file[i].isFile())
out.print("
"+file[i].toString());
}
%>
<%@ page import="java.io.*"%>
<%
File[] roots=File.listRoots();
for(int i=0;i
out.print("
"+roots[i].getPath());
}
%>
(三)将两个程序合并
<%@ 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"};
%>
<%
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
sb.append(" ");
sb.append(roots[i]+" ");
}
//out.println(sb);
%>
<%
//out.print("
| "+strCurrentFolder[languageNo]+": "+path+" | "+sb+" |
%>
| <%=strCurrentFolder[languageNo]%>: <%=path %> | <%=strDrivers[languageNo] %>:<%=sb%> |
| 目录有: <% for(int i=0;i if(file[i].isDirectory()) out.print(" "+file[i].toString()); } %> | 文件有: <% for(int i=0;i if(file[i].isFile()) out.print(" "+file[i].toString()); } %> |
如图

我们进一步的优化,实现
<%@ page contentType="text/html; charset=GBK" %>
<%@page import="java.io.*,java.util.*,java.net.*" %>
<%!
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
sb.append("");
sb.append(roots[i]+" ");
}
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("
sb.append("To ParentFile
- - - -
}
for(int i=0;i
if(list[i].isDirectory())
{
sb.append("
sb.append(""+list[i].getName()+"");
sb.append("
}
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("
sbFile.append(""+list[i].getName());
sbFile.append("
sbFile.append(""+strLen);
sbFile.append("
sbFile.append(""+strDT);
sbFile.append("
sbFile.append(" ");
sbFile.append(strFileEdit[languageNo]+" ");
sbFile.append(" ");
sbFile.append(strFileDown[languageNo]+" ");
sbFile.append(" ");
sbFile.append(strFileCopy[languageNo]+" ");
sbFile.append(" ");
sbFile.append(strFileDel[languageNo]+" ");
sbFile.append("
}
}
}
catch(Exception e)
{
out.println("error: "+e.toString()+"");
}
%>
| <%=strCurrentFolder[languageNo]%>: <%=strDir %> | <%=strDrivers[languageNo] %><%=getDrivers()%> |
|
|