一、File類的概述和構造方法
1、File類的概述:File更應該叫做一個路徑
(1)文件路徑或者文件夾路徑
(2)路徑分為絕對路徑和相對路徑
(3)絕對路徑是一個固定的路徑,從盤符開始
(4)相對路徑相對于某個位置,在eclipse下是指當前項目下,在dos下
查看API指的是當前路徑
文件和目錄路徑名的抽象表示形式
2、構造方法
(1)File(String pathname):根據一個路徑得到File對象
(2)File(String parent, String child):根據一個目錄和一個子文件/目錄得到File對象
(3)File(File parent, String child):根據一個父File對象和一個子文件/目錄得到File對象
二、File類的創建功能
1、public boolean createNewFile():創建文件 如果存在這樣的文件,就不創建了
2、public boolean mkdir():創建文件夾 如果存在這樣的文件夾,就不創建了
3、public boolean mkdirs():創建文件夾,如果父文件夾不存在,會幫你創建出來
注意事項: 如果你創建文件或者文件夾忘了寫盤符路徑,那么,默認在項目路徑下。
三、File類的重命名和刪除功能
1、重命名和刪除功能
(1)public boolean renameTo(Filedest):把文件重命名為指定的文件路徑
(2)public boolean delete():刪除文件或者文件夾
2、重命名注意事項
如果路徑名相同,就是改名。
如果路徑名不同,就是改名并剪切。
3、刪除注意事項:
java中的刪除不走回收站。
要刪除一個文件夾,請注意該文件夾內不能包含文件或者文件夾
四、File類的判斷功能
1、public boolean isDirectory():判斷是否是目錄
2、public boolean isFile():判斷是否是文件
3、public boolean exists():判斷是否存在
4、public boolean canRead():判斷是否可讀
5、public boolean canWrite():判斷是否可寫
6、public boolean isHidden():判斷是否隱藏
五、File類的獲取功能
1、public String getAbsolutePath():獲取絕對路徑
2、public String getPath():獲取路徑
3、public String getName():獲取名稱
4、public long length():獲取長度。字節數
5、public long lastModified():獲取最后一次的修改時間,毫秒值
6、public String[] list():獲取指定目錄下的所有文件或者文件夾的名稱數組
7、public File[] listFiles():獲取指定目錄下的所有文件或者文件夾的File數組
六、文件名稱過濾器
1、public String[] list(FilenameFilter filter)
2、public File[] listFiles(FileFilter filter)
import java.io.File;import java.io.FileFilter;import java.io.FilenameFilter;import java.io.IOException;import java.sql.Date;import java.text.SimpleDateFormat;public class FileClass { public static void main(String[] args) throws IOException { /* * 一、File類的概述和構造方法 1、File類的概述:File更應該叫做一個路徑 (1)文件路徑或者文件夾路徑 (2)路徑分為絕對路徑和相對路徑 (3)絕對路徑是一個固定的路徑,從盤符開始 (4)相對路徑相對于某個位置,在eclipse下是指當前項目下,在dos下 查看API指的是當前路徑 文件和目錄路徑名的抽象表示形式 2、構造方法 (1)File(String pathname):根據一個路徑得到File對象 (2)File(String parent, String child):根據一個目錄和一個子文件/目錄得到File對象 (3)File(File parent, String child):根據一個父File對象和一個子文件/目錄得到File對象 二、File類的創建功能 1、public boolean createNewFile():創建文件 如果存在這樣的文件,就不創建了 2、public boolean mkdir():創建文件夾 如果存在這樣的文件夾,就不創建了 3、public boolean mkdirs():創建文件夾,如果父文件夾不存在,會幫你創建出來 注意事項: 如果你創建文件或者文件夾忘了寫盤符路徑,那么,默認在項目路徑下。 三、File類的重命名和刪除功能 1、重命名和刪除功能 (1)public boolean renameTo(File dest):把文件重命名為指定的文件路徑 (2)public boolean delete():刪除文件或者文件夾 2、重命名注意事項 如果路徑名相同,就是改名。 如果路徑名不同,就是改名并剪切。 3、刪除注意事項: Java中的刪除不走回收站。 要刪除一個文件夾,請注意該文件夾內不能包含文件或者文件夾 四、File類的判斷功能 1、public boolean isDirectory():判斷是否是目錄 2、public boolean isFile():判斷是否是文件 3、public boolean exists():判斷是否存在 4、public boolean canRead():判斷是否可讀 5、public boolean canWrite():判斷是否可寫 6、public boolean isHidden():判斷是否隱藏 五、File類的獲取功能 1、public String getAbsolutePath():獲取絕對路徑 2、public String getPath():獲取路徑 3、public String getName():獲取名稱 4、public long length():獲取長度。字節數 5、public long lastModified():獲取最后一次的修改時間,毫秒值 6、public String[] list():獲取指定目錄下的所有文件或者文件夾的名稱數組 7、public File[] listFiles():獲取指定目錄下的所有文件或者文件夾的File數組 六、文件名稱過濾器 1、public String[] list(FilenameFilter filter) 2、public File[] listFiles(FileFilter filter) * */ initFile(); createFile(); renameFile(); judgeFile(); getFilePath(); filenameFilter(); } PRivate static void filenameFilter() { System.out.println("==============文件過濾器============="); File file = new File("/Users/cat/Desktop"); String[] strA = file.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { File file1 = new File(dir,name); return file1.isFile() && file1.getName().endsWith(".jpg"); } }); for (String str:strA){ System.out.println(str); } } private static void getFilePath() { System.out.println("==============獲取============="); File file1 = new File("test"); System.out.println(file1.getAbsolutePath()); System.out.println(file1.getPath()); System.out.println(file1.getName()); System.out.println(file1.length()); Date date = new Date(file1.lastModified()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); System.out.println(sdf.format(date)); File file2 = new File("/Users/cat/Desktop/工作日報"); String[] strA = file2.list(); for(String str:strA){ System.out.println(str); } File[] fileA = file2.listFiles(); for(File file:fileA){ System.out.println(file.getAbsolutePath()); } //輸出所有圖片的路徑 File file3 = new File("/Users/cat/Desktop"); File[] fileB = file3.listFiles(); for(File file:fileB){ if(file.isFile() && file.getName().endsWith(".jpg")){ System.out.println(file.getAbsolutePath()); } } } private static void judgeFile() throws IOException { System.out.println("==============判斷============="); File file1 = new File("test1"); System.out.println(file1.createNewFile()); System.out.println(file1.exists()); file1.setReadable(false); file1.setWritable(false); System.out.println(file1.canWrite()); System.out.println(file1.canRead()); //Windows系統下默認所有文件都是可讀的 System.out.println(file1.isHidden()); } private static void renameFile() { System.out.println("==============改名,刪除============="); File file1 = new File("test1"); File file2 = new File("change"); System.out.println(file1.renameTo(file2)); File file3 = new File("change"); File file4 = new File("/Users/cat/Desktop/22.rtf"); System.out.println(file3.renameTo(file4)); System.out.println(file4.delete()); } private static void createFile() throws IOException { System.out.println("==============創建文件/夾============="); File file1 = new File("test1"); System.out.println(file1.createNewFile()); File file2 = new File("aaa.txt"); System.out.println(file2.mkdir()); File file3 = new File("bbb/ccc"); System.out.println(file3.mkdirs()); } public static void initFile() { System.out.println("==============文件路徑============="); File file = new File("/Users/cat/Desktop/11.rtf");//文件路徑 System.out.println(file.exists()); File file1 = new File("test");//文件路徑 System.out.println(file1.exists()); File file2 = new File("text");//文件路徑 System.out.println(file2.exists()); String parent = "/Users/cat/Desktop/"; String child = "11.rtf"; File file3 = new File(parent,child);//文件路徑 System.out.println(file3.exists()); File parentFile = new File("/Users/cat/Desktop/"); String childStr = "11.rtf"; File file4 = new File(parentFile,childStr);//文件路徑 System.out.println(file4.exists()); }}
新聞熱點
疑難解答