大三了,目前基礎太差了,從新學習過!代碼以下,裏面都有詳細的解釋每一行代碼表明的意思~java
package IODemo; import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; public class FileDemo { public static void main(String[] args) { // File表示一個文件或者目錄 // "d:\\test\\test.txt" 或者 "d:/test/test.txt") File f1 = new File("d:\\test\\test.txt"); if(!f1.exists()){ //判斷該文件是否存在,若是不存在就建立 try { f1.createNewFile(); // 建立該文件 System.out.println("文件建立成功!"); } catch (IOException e) { e.printStackTrace(); } } // f1.isDirectory() 若是是文件夾就返回 true 不是就返回false System.out.println("f1是不是文件:"+f1.isFile()); File f2 = new File("d:\\test\\my"); // 這個路徑中my文件夾 這個文件夾之中有文件 boolean b = f2.delete(); // 用變量b接受 看 刪除的結果 System.out.println("刪除的結果是:"+b); // 返回的是 false 沒有刪除這個文件夾,必需要刪除這個文件夾裏面的文件才能夠刪除這個文件夾 String[] names = f2.list();//列出該目錄下的全部文件名 System.out.println( Arrays.toString(names)); //打印出String數組裏面的東西 File[] fs = f2.listFiles(); //列出當前目錄下的全部文件,而且以file 對象返回 for (File f : fs) { // for循環的加強 就是說遍歷File集合中的每個File對象f System.out.println("lenght="+f.length()); System.out.println("name="+f.getName()); System.out.println("相對路徑="+f.getPath()); System.out.println("絕對路徑="+f.getAbsolutePath()); System.out.println("是否爲隱藏文件="+f.isHidden()); Date date = new Date(f.lastModified());// 獲取文件的最後修改的日期 須要用日期類進行格式化 DateFormat df = new SimpleDateFormat("HH:MM:SS"); // 格式化 System.out.println("日期:"+df.format(date)); } //文件夾的操做 File f3 = new File("d:\\test\\wang"); f3.mkdirs(); // mkdirs()是建立文件夾中的文件夾 都沒有的狀況下用 和mkdir()只建立一個沒有的文件夾 System.out.println("文件夾建立成功"); //重命名 與移動 文件夾 // f3.renameTo(new File("d:\\test\\wang1")); //若是放到其餘的地方的話就是 移動這個文件夾 f3.renameTo(new File("d:\\wang")); // 補充f2 中的打印文件名 過濾器 File f4 = new File("d:\\test\\my"); File[] files = f4.listFiles(new FileFilter() { // new一個接口出來過濾 @Override public boolean accept(File pathname) { return pathname.getName().endsWith(".txt"); //過濾結尾爲 txt的文件 } }); for (File f : files) { System.out.println(f.getName()); } } }