- 練習
- 第一題
需求:在當前模塊下的aaa文件夾中創建一個a.txt文件
import java.io.File;
import java.io.IOException;public class FileExer01 {public static void main(String[] args) throws IOException {File f1 = new File("AllInOne\\aaa");f1.mkdirs();File src = new File(f1, "a.txt");boolean flag = src.createNewFile();if (flag) {System.out.println("創建成功");}else {System.out.println("創建失敗");}}
}
- 第二題
需求:定義一個方法找某一個文件夾中,是否有以avi結尾的電影。(暫時不需要考慮子文件夾)
D:\\aaa
D:\\aaa\\bbb
D:\\aaa\\ccc
import java.io.File;
import java.io.FileFilter;public class AVIFinder {public static void main(String[] args) {// 需要查找的文件夾數組String[] paths = {"G:/", "G:\\虎膽龍威", "G:\\終結者2"};// 遍歷路徑數組for (String path : paths) {// 創建路徑的File對象File f = new File(path);// 調用listFiles方法查找相應后綴名的文件File[] mkvFiles = f.listFiles(new FileFilter() {@Overridepublic boolean accept(File pathname) {return pathname.isFile() && pathname.getName().endsWith(".mp4");}});System.out.println("=============路徑:" + path + "下的文件:===================");// 輸出文件夾下的mp4文件的路徑for (File mkvFile : mkvFiles) {System.out.println(mkvFile.getAbsolutePath());}}}
}
- 第三題
需求:找到電腦中所有以avi結尾的電影。(需要考慮子文件夾)
C:\\
C:\\aaa
C:\\bbb
考慮遞歸
import java.io.File;public class FileRecursion {public static void main(String[] args) {// 指定一個盤符File h = new File("h:/");listMKV(h);}/*** 列出文件夾中所有的MKV文件* @param dir 目錄*/public static void listMKV(File dir){// 如果是mkv文件就輸出它的路徑并結束if(dir.isFile()){if (dir.getName().endsWith(".mkv")){System.out.println(dir.getAbsolutePath());}}else {// 如果是目錄,則列出所有文件File[] files = dir.listFiles();if (files != null) {for (File file : files) {// 遞歸listMKV(file);}}}}
}