① 一個關於JAVA中File類中listFiles方法
listFiles能夠獲取當前文件夾下的所有文件和文件夾,如果文件夾A下還有文件D,那麼D也在childs里。
注意這句話childs[i].isDirectory(),作用就是從所有文件和文件夾中過濾出所有文件夾。
② java 里的public File[] listFiles(FilenameFilter filter)函數怎麼用
用內部類實現FilenameFilter 最常見,如:
File[] pics = dir.listFiles(new FilenameFilter(){
public boolean accept(File dir, String name){
return dir.getName()==name;
}
});
③ 在Java中的file類一個小問題
建議你去網上下載個中文的API,並查找File類中的方法。你會發現FILE類中的構造方法只是產生了一個對某文件路徑的一個引用,所謂構造方法就是你所用的File
xx=new
File("xx")的這個方法。該方法不負責創建新目錄,也不負責對該目錄是否存在進行考證。僅僅是一個對該目錄的引用。
要想創建一個新目錄,應用如下格式:
File
newFilepath=new
File("C:/newfile");//如果想創建一個文件,擴展名需要提前指定。該語句中的newfile可以用作目錄也可用作文件,編譯器此時尚不知道該目錄(路徑)是否存在。實際上什麼都沒做。
創建一個目錄:
newFilepath.mkdir();//即調用對象newFilepath的mkdir()方法。若要新建一個文件而非目錄,需要指定擴展名。形式如下:
newFilepath.creatNewFile();//該語句中newFilepath對象的路徑最好指定擴展名,如a.b。否則將創建出一個無擴展名的文件。
綜上,奉勸lz最好去下載個中文的API,否則以後這種問題將帶給你極大的困擾。
④ 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中Filefilter和Filenamefilter的區別
兩種機制而已,篩選時的參數不同,很多類庫都會提供多種調用方式,並無不同,只是適配更多的情況
FileFilter filefilter = new FileFilter() {
public boolean accept(File file) {
//if the file extension is .txt return true, else false
if (file.getName().endsWith(".txt")) {
return true;
}
return false;
}
};
FilenameFilter filefilter = new FilenameFilter() {
public boolean accept(File dir, String name) {
//if the file extension is .txt return true, else false
return name.endsWith(".txt");
}
};
看到了吧,是介面里方法的參數類型不同,這樣你可以選自己需要的介面
⑥ java中文件瀏覽對話框中怎麼過濾文件類型
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"JPG & GIF Images", "jpg", "gif");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
chooser.getSelectedFile().getName());
}
JFileChooser就可以實現文件選擇,但是只顯示指定的文件類型的過濾類FileNameExtensionFilter只是JDK1.6版本里的,JDK1.4及其以版下是沒有的,如權果想在JDK1.4里實現過濾,可以去1.6版本里找到該源碼,自己編譯使用
⑦ java FileFilter 過濾只保留文件夾和.xls文件
代碼如下,供參考
import java.io.File;
import java.io.FileFilter;
public class Test {
public static void main(String[] args) {
File file = new File("E:\");
File[] files = file.listFiles(new FileFilter(){
@Override
public boolean accept(File pathname) {
// 判斷文件名是目錄 或 .xls 結尾
if (pathname.isDirectory() || pathname.getName().toUpperCase().endsWith(".XLS")) {
return true;
}
return false;
}});
for (File f : files) {
System.out.println(f.getName());
}
}
}
⑧ java.io包的FileFilter和FileNameFilter的區別
public File [] listFiles(java.io.FilenameFilter)
java.io.FilenameFilter:文件名過濾器介面。過濾器必須實現此介面。該介面定義了一個
public
boolean accept(File file, String filename)方法,第一個參數File
file為正在被過濾的文件,第二個參數為正在被過濾的文件名。FilenameFilter.accept返回false的文件會被過濾掉。
該方法返回匹配FilenameFilter所指定條件的文件
public File [] listFiles(java.io.FileFilter)
public boolean accept(File file)方法,第一個參數File file為正在被過濾的文件。FileFilter.accept返回false的文件會被過濾掉。
該方法返回匹配FileFilter所指定條件的文件。
這個是我臨時找的,我去吃飯了- -
希望能幫到你
⑨ java 文件過濾器怎麼實現。
import java.io.File;
import java.io.FilenameFilter;
/**
* 文件過濾器的簡單實現
*
* @author ajaxfan
* @date 2010-04-17
*/
public class FileNameFilterDemo {
public static void main(String[] args) {
list("d:/");
}
/**
* 列出特定路徑下的txt文件
*
* @param directoryName
* 路徑名
*/
private static void list(String directoryName) {
File dir = new File(directoryName);
// 確定該路徑指向一個目錄
if (dir.exists() && dir.isDirectory()) {
// 列出所有結尾為txt的文件
File[] files = dir.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith("txt");
}
});
System.out.println(java.util.Arrays.toString(files));
}
}
}
⑩ JAVA listFiles()參數問題
File[] listFiles()返回一個抽象路徑名數組