作者: tianshi0253 鏈接:http://tianshi0253.javaeye.com/blog/203419 發表時間: 2008年06月15日
聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!
包括四個文件,一個具體實現類,一個接口類,一個工廠類,一個調用類。
FileSeacher.java
package com.jqqd.ywc; import java.io.IOException; public interface FileSeacher { void seacherFile(String s)throws IOException; void seacherFolder(String s); }
FileSeacherImpl.java
package com.jqqd.ywc; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class FileSeacherImpl implements FileSeacher { static FileOutputStream outFile; static { try { outFile = new FileOutputStream("D:/seach_log.dat"); } catch (FileNotFoundException e) { e.printStackTrace(); } } public void seacherFile(String s) throws IOException { File dir = new File(s); if (dir.exists()) { if (dir.isFile()) { System.out.println(s + " is an file!"); writeToFile(s); } else { File[] dirList = dir.listFiles(); for (int i = 0; i < dirList.length; i++) { if (dirList[i].isFile()) { System.out.println(dirList[i] + " is an file!"); writeToFile(dirList[i].toString() + "\n"); } else { seacherFile(dirList[i].toString()); } } } } else { System.out.println(s + "is not existed!"); } } private void writeToFile(String content) { try { outFile.write(content.getBytes()); } catch (IOException e) { e.printStackTrace(); } } public void seacherFolder(String s) { // TODO Auto-generated method stub File dir = new File(s); if (dir.exists()) { if (dir.isFile()) { System.out.println(s + " is an file!"); } else { writeToFile(s+ " is an folder\n"); File[] dirList = dir.listFiles(); for (int i = 0; i < dirList.length; i++) { if (dirList[i].isFile()) { System.out.println(dirList[i].toString() + " is an file!"); } else { writeToFile(dirList[i].toString() + " is an folder\n"); seacherFolder(dirList[i].toString()); } } } } } }
Factory.java
package com.jqqd.ywc; import java.io.IOException; import com.jqqd.ywc.FileSeacherImpl; public class Factory { public static void seacherFile(String s)throws IOException { new FileSeacherImpl().seacherFile(s); } }
UseFactory.java
package com.jqqd.ywc; import java.io.IOException; import com.jqqd.ywc.Factory; public class useFachory { public static void main(String[] args) { String s = "F:/"; try { Factory.seacherFile(s); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
本文的討論也很精彩,瀏覽討論>>
JavaEye推薦
- 搜狐網站誠聘Java、PHP和C++工程師
- Oracle專區上線,有Oracle最新文章,重要下載及知識庫等精彩內容,歡迎訪問。
- 立刻報名,免費獲取門票,參加SOA技術論壇(廣州6月19日)
- 北京: 千橡集團暨校內網誠聘軟件研發工程師
文章來源:http://tianshi0253.javaeye.com/blog/203419