package ioTest.io3;
/*
* 獲取指定目錄下的文件夾和文件的File對象或是字符串名稱。
* 也可以通過filter獲取指定的文件夾或者指定類型的文件
* 這裏面需要做一個總結,如何利用jdk的源碼去理解不熟悉的方法的應用。
*/
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
public class FileDemo2 {
public static void main(String[] args) {
//listDemo();
listFilesDemo3();
}
//獲取當前目錄下的所有文件夾和文件的名稱
public static void listDemo()
{
File file=new File("F:\\");
String[] fileStrings=file.list();
for(String s:fileStrings)
{
System.out.println(s);
}
}
//列出指定目錄下指定文件類型的所有文件,返回String[]
public static void listDemo2()
{
File file=new File("F:\\");
String[] fileStrings=file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
return name.endsWith(".txt");
}
});
for(String s:fileStrings)
{
System.out.println(s);
}
}
//列出指定目錄下所有文件,返回File[]
public static void listFilesDemo()
{
File file=new File("F:\\");
File[] files=file.listFiles();
for(File f:files)
{
System.out.println(f);
}
}
//列出指定目錄下所有文件,返回File[]
public static void listFilesDemo2()
{
File file=new File("F:\\");
//用匿名內部類實現過濾的操作。
File[] files=file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
// TODO Auto-generated method stub
System.out.println("pathname---------:"+pathname);
return pathname.toString().endsWith("txt");
}
});
for(File f:files)
{
System.out.println(f);
}
}
//列出指定目錄下所有文件,返回File[]
public static void listFilesDemo3()
{
File file=new File("F:\\");
//用匿名內部類實現過濾的操作。
File[] files=file.listFiles(new FilenameFilter() {
//只有名稱,沒有盤符
@Override
public boolean accept(File dir, String name) {
System.out.println("name---------:"+name);
return false;
}
});
for(File f:files)
{
System.out.println(f);
}
}
//獲取當前系統的所有有用盤符
public static void listRootsDemo()
{
File[] files=File.listRoots();
for(File f:files)
{
System.out.println(f);
}
}
}
JAVA之IO技術-獲取指定目錄下的文件夾和文件的File對象或是字符串名稱。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.