Java File類學習 檔案常用操作
阿新 • • 發佈:2018-11-23
1,File 是什麼?
檔案物件,用來操作資料夾/檔案的物件,檔案物件代表磁碟中實際存在的檔案和目錄。
常用操作方法:
File f=new File();
//檔案是否存在
f.exists();
//是否是資料夾
f.isDirectory();
//是否是檔案(非資料夾)
f.isFile();
//檔案長度
f.length();
//檔案最後修改時間
f.lastModified();
//設定檔案修改時間
f.setLastModified(0);
//重新命名
f.renameTo(f2);// File f2 =new File("/完整路徑/檔名.txt");
// 以字串陣列的形式,返回當前資料夾下的所有檔案(不包含子檔案及子資料夾)
f.list();
// 以檔案陣列的形式,返回當前資料夾下的所有檔案(不包含子檔案及子資料夾)
File[]fs= f.listFiles();
// 以字串形式返回獲取所在資料夾
f.getParent();
// 以檔案形式返回獲取所在資料夾
f.getParentFile();
// 建立資料夾,如果父資料夾不存在,建立就無效
f.mkdir();
// 建立資料夾,如果父資料夾不存在,就會建立父資料夾
f.mkdirs();
// 建立一個空檔案,如果父資料夾不存在,就會丟擲異常
f.createNewFile();
// 所以建立一個空檔案之前,通常都會建立父目錄
f.getParentFile().mkdirs();
// 列出所有的碟符c: d: e: 等等
f.listRoots();
// 刪除檔案
f.delete();
// JVM結束的時候,刪除檔案,常用於臨時檔案的刪除
f.deleteOnExit();
下面給個例項:找出kugou資料夾裡面最大(最小)的檔案。以及瀏覽所有的子目錄下的檔案
import java.io.File;
public class Main {
public static void main(String[] args) {
String filepath="E:/KuGou/";
File f = new File("E:/KuGou");
File f1;
File[] fs = f.listFiles();
if (null == fs) {
return;
}
long minSize = Integer.MAX_VALUE;//
long maxSize = 0;//檔案大小
File minFile = null;
File maxFile = null;
for (File file : fs) {
if (file.isDirectory()) {//是否是資料夾
f1 = new File(filepath+file.getName());//取得子資料夾,拼接路徑。再找出子檔案下面的檔案
File[] f1c=f1.listFiles();
for (File a : f1c) {
System.out.println("子資料夾"+file.getName()+"下的所有檔案"+a.getName());
}
}
if (file.length() > maxSize) {//外層最大的檔案
maxSize = file.length();
maxFile = file;
}
if (file.length() != 0 && file.length() < minSize) {//外層最小的檔案
minSize = file.length();
minFile = file;
}
}
System.out.printf("最大的檔案是%s,其大小是%,d位元組%n",maxFile.getAbsoluteFile(),maxFile.length());
System.out.printf("最小的檔案是%s,其大小是%,d位元組%n",minFile.getAbsoluteFile(),minFile.length());
}
}
子資料夾KugouMusic下的所有檔案clean bandit、demi lovato - Solo (DJ版).kgm
子資料夾KugouMusic下的所有檔案盧冠廷 - 一生所愛.kgm
子資料夾KugouMusic下的所有檔案周杰倫 - 不愛我就拉倒.kgm
子資料夾KugouMusic下的所有檔案孫楠、韓紅 - 美麗的神話.kgm
子資料夾KugouMusic下的所有檔案王力巨集、范曉萱 - 雪人.kgm
子資料夾KugouMusic下的所有檔案蕭敬騰 - 百里守約.kgm
子資料夾KugouMusic下的所有檔案袁婭維 - 說散就散.kgm
最大的檔案是E:\KuGou\周柏豪.jpg,其大小是456,135位元組
最小的檔案是E:\KuGou\於毅.jpg,其大小是2,137位元組
最後推薦一個學習地址:很不錯的學習網站