JSP中對文件的操作
JSP中對文件的操作是非常重要的,其中要對文件的屬性做出描述,要用到File類,它的方法雖然不涉及對文件進行讀寫操作,但對文件進行描述有着非常重要的作用。
1. 創建File對象
File(String filename)用文件名創建文件對象
File(String directpath,String filename)用文件存儲的路徑和文件名創建對象
File(File f,String filename)用文件對象和文件名創建對象
特別注意:若不指定路徑和目錄,則新建的文件位於服務器的默認目錄下。
2. 創建目錄
Public boolean mkdir()
3. 列出文件和目錄
Public String[] list()以字符串數組的方式列出文件和目錄
Public File[] list()以File對象的方式列出文件和目錄
4. 列出指定條件的文件和目錄
Public String[] list(FilenameFilter obj)
Public String[] list(FilenameFilter obj)
FilenameFilter是一個接口,該接口有一個accept方法
Public boolean accept(Flie dir,String name)
具體應用中:在列出指定的類型時,需要先聲明一個類,實現FilenameFilter接口的accept方法。在以下的程序片中,先實例化File對象,指定目錄,再實例化實現接口的那個類,並以此爲參數,形成FilenameFilter對象,繼以調用list或listFile方法列出指定的文件。
程序示例:
<%@ page language="java" %>
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page errorPage=""%>
<%@ page import="java.io.*"%>
<!DOCTYPE HTML PUBLIC "-//w 3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>file filter</title>
</head>
<body bgcolor="#FFFFFF">
<%!class FileFilterJsp implements FilenameFilter
{String str=null;
FileFilterJsp(String s)
{str="."+s;}
public boolean accept(File dir,String name)
{return name.endsWith(str);}//聲明FileFilterJsp類實現FilenameFilter接口的accept方法
}%>
<%File dir=new File("G:/個人材料/設計");
FileFilterJsp file_jsp=new FileFilterJsp("jpg");//實例化FileFilterJsp類,指明所需文件的後綴名
String file_name[]=dir.list(file_jsp);//通過實例化的file_jsp列出所需文件名
for(int i=0;i<file_name.length;i++)
{out.print("<br>"+file_name[i]);}
%>
</body>
</html>