『壹』 java中關於過濾文件的問題
importjava.io.*;
importjava.util.Arrays;
importjava.util.List;
{
privatefinalList<String>suffixes=Arrays.<String>asList(".txt",".doc",".jpg");
@Overridepublicbooleanaccept(Filepathname){
if(pathname.isDirectory()){
returntrue;
}
Stringname=pathname.getName().toLowerCase();
intindex=name.lastIndexOf('.');
Stringsuffix=(index>-1)?name.substring(index):"";
returnsuffixes.contains(suffix);
}
publicstaticvoidmp(Filefile){
if(file.isDirectory()){
File[]files=file.listFiles(newFilterImp());
if(files==null)return;
for(Filef:files){
mp(f);
}
}
else
System.out.println(file.getPath());
}
publicstaticvoidmain(String[]args){
File[]roots=File.listRoots();
System.out.println(Arrays.toString(roots));
for(Fileroot:roots){
mp(root);
}
}
}
遞歸列出硬碟里的txt doc jpg文件。(有讀取許可權的)
『貳』 java 中的過濾器filter 都有什麼作用
過濾器顧名思來義就是進行過濾的源,可以實現代碼的定向執行和預處理。
通俗點說法filter相當於加油站,request是條路,response是條路,目的地是servlet,這個加油站設在什麼地方對什麼數據操作可以由你來控制。
備註:過濾器可以再請求和響應之前做一部分預處理,有效的過濾掉不需要的內容,而且過濾器可以被復用,節省了大量的復用代碼,提高了java的代碼執行效率
『叄』 java中的過濾器怎樣配置它的范圍
配置web.xml文件的時候,控制
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
這個中的<url-pattern>/*</url-pattern> 也就是/*就可以控制過濾的范圍
『肆』 java過濾器的1、request過濾器
這種過濾器的工作方式比較簡單,大家也經常遇到,如下圖所示:
以下是web.xml文件配置方式:
<filter>
<filter-name>myFilter</filter-name>
<filter-class>xx.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<servlet-name>目標資源一</servlet-name>
</filter-mapping>
下面我們更改一下web.xml文件的配置,如下方式:
<filter>
<filter-name>myFilter</filter-name>
<filter-class>xx.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<servlet-name>目標資源一</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>myFilter</filter-name>
<servlet-name>目標資源二</servlet-name>
</filter-mapping>
也就是說此過濾器對目標資源一和目標資源二都進行過濾,然後當目標資源一被訪問的時候我們將請求轉發給目標資源二,那麼這個時候過濾器是怎麼工作的呢?如下圖所示:
我們可以看到,當我們訪問目標資源一時過濾器截取了請求,然後再轉發給目標資源一,然後再轉發給目標資源二,從圖中我們可以看到過濾器沒有截取轉發到目標資源二的請求,但是我們已經在web.xml文件中配置了該過濾器對目標資源二的過濾,為什麼又沒有起到過濾作用呢?
答案就在於,目標資源一是客戶端直接訪問,而目標資源二是被轉發過來的,這時過濾器就不能過濾目標資源二。如果你直接訪問目標資源二,你會發現該過濾器起到了作用?
我們上面的web.xml文件配置與以下方式等價:
<filter>myFilter</filter>
<filter-name>myFilter</filter-name>
<filter-class>xx.MyFilter</filte-class>
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<servlet-name>目標資源一</servlet-name>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>myFilter</filter-name>
<servlet-name>目標資源二</servlet-name>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
這種方式的配置,說明只有直接訪問該目標資源時該過濾器才會起作用,對轉發到該目標資源的請求將忽略不處理。
那如果我想對轉發到目標資源二的請求進行過濾,那怎麼辦呢?答案見,下一種過濾器,forward過濾器。
『伍』 filter的使用 java 過濾器的幾種使用方法
過濾器來
過濾器是處於客戶端自與伺服器資源文件之間的一道過濾網,在訪問資源文件之前,通過一系列的過濾器對請求進行修改、判斷等,把不符合規則的請求在中途攔截或修改。也可以對響應進行過濾,攔截或修改響應。
過濾器一般用於登錄許可權驗證、資源訪問許可權控制、敏感詞彙過濾、字元編碼轉換等等操作,便於代碼重用,不必每個servlet中還要進行相應的操作。
『陸』 Java中FileFilter過濾文件的問題
long time = new Date().getTime(); //當前時間
File[] files = new File("c:/aa").listFiles(); //aa為目錄
List<File> list = new ArrayList<File>();
for(File file : files){
long m = file.lastModified(); //文件的修改時間
long n = 30*24*3600;
//假設一個月30天,30天以內
if((time-m) < n){
//你要干什麼在版這寫。。。
list.add(file);
}
}
//能加權點分么。。。
本來不想說什麼,樓下的,光天化日下別人的代碼是不對滴,侵犯別人的知識權哦,也要搞得委婉點嘛~
『柒』 Java Web 中的過濾器如何使用
你你在配置過來濾器的自 時候
配置web.xml
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>com.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
最後的<url-pattern>/*</url-pattern> 就是過濾的路徑
比如你在文件夾下吧不過濾的放在根目錄,過濾的放在一個filter的文件夾下,那麼就配<url-pattern>/filter/*</url-pattern> 這樣根目錄的所有文件都不過濾,名字我隨便起的,你可以根據你自己的寫,或者這個*也可以用匹配符,比如<url-pattern>/*.jsp</url-pattern>
再或者<url-pattern>/java*</url-pattern> 這樣只有以java開頭的才過濾,其他的不過濾
你可以根據實際設置
『捌』 如何用Java來進行文件切割和簡單的內容過濾
java中有一個FilenameFilter的介面,能夠過濾得到指定類型的文件或者目錄,可以版實現文件過濾器,如下代碼:權 accept(File file,String path)方法public class DirFilter implements FilenameFilter{private String type;public DirFilter(Strin