Day55.IO流複習 -Java常用類、集合、IO#
IO流複習
.
File類的使用
1. File類的理解
1. File類的一個物件,代表一個檔案或一個檔案目錄(俗稱: 資料夾)
2. File類宣告在java.io包下
3. File類中涉及到關於檔案或檔案目錄的建立、刪除、重新命名、修改時間、檔案大小等方法,
並未涉及到寫入或讀取檔案內容的操作。如果需要讀取或寫入檔案內容。就必須使用IO流來完成
4. 後續File類的物件常會作為引數傳遞到流的構造器中,指明讀取或寫入的"終點"。
2. File的例項化
常用構造器
File(String filePath)
File(String parentPath,String childPath)
File(File parentPath,String childPath)
路徑的分類
相對路徑:相較於某個路徑下,指明的路徑。
絕對路徑:包含碟符在內的路徑或檔案目錄的路徑
說明:
IDEA中:
如果大家開發使用Junit中的單元測試方法測試,相對路徑即為當前Module下。
如果使用main()測試,相對路徑即為當前的Project下。
Eclipse中:
不管使用單元測試方法還是使用main()測試,相對路徑都是Project下。
路徑分隔符
windows: \\
unix、url: /
3. File類的常用方法
/*
-File類的獲取功能:
public String getAbsolutePath(): 獲取絕對(完整)路徑
public String getPath(): 獲取路徑
public String getName(): 獲取名稱
public String getParent(): 獲取上層檔案目錄路徑。若無,返回null
public long length(): 獲取檔案長度(即: 位元組數)。 不能獲取目錄的長度。
public long lastModified(): 獲取最後一次的修改時間,毫秒值
如下方法適用於檔案目錄
public String[] list(): 獲取指定目錄下的所有檔案或者檔案目錄的名稱陣列
public File[] listFile(): 獲取指定目錄下的所有檔案或者檔案目錄的File陣列
-File類的重新命名功能:
public boolean renameTo(File dest): 把檔案重新命名為指定的檔案路徑
-File類的判斷功能:
public boolean isDirectory(): 判斷是否是檔案目錄
public boolean isFile(): 判斷是否是檔案
public boolean exists: 判斷是否存在
public boolean canRead(): 判斷是否可讀
public boolean canWrite(): 判斷是否可寫
public boolean isHidden(): 判斷是否隱藏
-File類的建立功能
public boolean createNewFile(): 建立檔案。若檔案存在,則不建立,返回false
public boolean mkdir(): 建立檔案目錄。如果此檔案目錄存在,就不建立了。
如果此檔案目錄的上級目錄不存在,也不建立。
public boolean mkdirs(): 建立檔案目錄。如果上級檔案目錄不存在,一併建立
-File類的刪除功能
public boolean delete(): 刪除檔案或者資料夾
*/
@Test
public void test2(){
File file1 = new File("hello.txt");
File file2 = new File("D:\\io\\hi.txt");
System.out.println(file1.getAbsolutePath());
System.out.println(file1.getPath());
System.out.println(file1.getName());
System.out.println(file1.getParent());
System.out.println(file1.length());
System.out.println(new Date(file1.lastModified()));
System.out.println();
System.out.println(file2.getAbsolutePath());
System.out.println(file2.getPath());
System.out.println(file2.getName());
System.out.println(file2.getParent());
System.out.println(file2.length());
System.out.println(file2.lastModified());
}
@Test
public void test3(){
File file = new File("D:\\321");
String[] list = file.list();
for(String s:list){
System.out.println(s);
}
File[] listFiles = file.listFiles();
for (File f : listFiles){
System.out.println(f);
}
}
/*
public boolean renameTo(File dest): 把檔案重新命名為指定的檔案路徑
比如: file1.renameTo(file2)為例
要想保證返回為true,需要file1在硬碟中是存在的,且file2不能在硬碟中存在。
*/
@Test
public void test4(){
File file1 = new File("hello.txt");
File file2 = new File("D:\\io\\hi.txt");
boolean renameTo = file1.renameTo(file2);
System.out.println(renameTo);
}
/*
-File類的判斷功能:
public boolean isDirectory(): 判斷是否是檔案目錄
public boolean isFile(): 判斷是否是檔案
public boolean exists: 判斷是否存在
public boolean canRead(): 判斷是否可讀
public boolean canWrite(): 判斷是否可寫
public boolean isHidden(): 判斷是否隱藏
*/
@Test
public void test5(){
File file1 = new File("hello.txt");
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
System.out.println(file1.exists());
System.out.println(file1.canRead());
System.out.println(file1.canWrite());
System.out.println(file1.isHidden());
System.out.println();
File file2 = new File("D:\\io");
System.out.println(file2.isDirectory());
System.out.println(file2.isFile());
System.out.println(file2.exists());
System.out.println(file2.canRead());
System.out.println(file2.canWrite());
System.out.println(file2.isHidden());
}
/*
-File類的建立功能: 建立硬碟中對應的檔案或檔案目錄
public boolean createNewFile(): 建立檔案。若檔案存在,則不建立,返回false
public boolean mkdir(): 建立檔案目錄。如果此檔案目錄存在,就不建立了。
如果此檔案目錄的上級目錄不存在,也不建立。
public boolean mkdirs(): 建立檔案目錄。如果上級檔案目錄不存在,一併建立
-File類的刪除功能: 刪除硬碟中對應的檔案或檔案目錄
public boolean delete(): 刪除檔案或者資料夾
注意事項:
Java中的刪除不走回收站
*/
@Test
public void test6() throws IOException {
//檔案的建立
File file1 = new File("hi.txt");
if (!file1.exists()){
file1.createNewFile();
System.out.println("建立成功");
}else{//檔案存在
file1.delete();
System.out.println("刪除成功");
}
}
@Test
public void test7() {
//檔案目錄的建立
File file1 = new File("D:\\io\\io1\\io3");
boolean mkdir1 = file1.mkdir();
if (mkdir1) {
System.out.println("建立成功1");
}else {
System.out.println("建立失敗1");
}
File file2 = new File("D:\\io\\io1\\io4");
boolean mkdir2 = file2.mkdirs();
if (mkdir2) {
System.out.println("建立成功2");
}else {
System.out.println("建立失敗2");
}
}
暫時寫到 File類
相關文章
- 常用Java集合類總結Java
- java學習(七) —— API集合類JavaAPI
- Java集合類學習總結Java
- 【JAVA集合】JAVA集合框架及其常用方法Java框架
- 集合類【Java】Java
- Java集合類——MapJava
- Java集合類初探Java
- Java —— 集合工具類(Collections 類)Java
- java學習(五) —— 常用API類概述JavaAPI
- Java 集合類——Collections(1)Java
- Java 集合類——Collections(3)Java
- Java集合類的概述Java
- Java 集合類——Collections(2)Java
- Java集合類原始碼Java原始碼
- java集合類介紹Java
- Java常用類Java
- Java 常用類Java
- JAVA常用類--Cleaner類Java
- JAVA常用類--Runtime類Java
- Java常用類-Object類JavaObject
- 【Java集合】單列集合Collection常用方法詳解Java
- day08_我的Java學習筆記 (String類、ArrayList集合類)Java筆記
- Java學習筆記7(Java常用類庫與工具 )Java筆記
- Java 集合類入門篇Java
- Java集合類初步瞭解Java
- 【Java原始碼】集合類-ArrayDequeJava原始碼
- Java List 常用集合 ArrayList、LinkedList、VectorJava
- Java Set 常用集合 HashSet、LinkedHashSet、TreeSetJava
- Stream流對List集合篩選重複欄位
- Java複習筆記第二篇--集合學習之實現原理二Java筆記
- Java集合 HashSet的原理及常用方法Java
- Java中常用類之Object類JavaObject
- Java集合框架學習Java框架
- Java Map集合練習Java
- Java集合系列(一):集合的定義及分類Java
- Java 不可變集合 Stream流以及方法引用Java
- java集合類——Stack棧類與Queue佇列Java佇列
- JAVA常用類--AutoCloseable介面Java