Java每日總結7
今天學習了關於Java檔案操作相關的知識。
學自:https://blog.csdn.net/caidewei121/article/details/89426032 和菜鳥教程
一、java.io包。
Java.io包包含了所有操作輸出、輸出需要的類,所有這些流類代表了輸入源和輸出目標。
注意:
這些與檔案相關的操作全部都有try……catch捕獲異常處理的操作。使得程式即使報錯也可以正常的執行下去,並顯示報錯資訊
關於這一部分內容,學自:https://blog.csdn.net/qq_34427165/article/details/83929470
/ * try catch:自己處理異常
* try {
*可能出現異常的程式碼
*} catch(異常類名A e){
*如果出現了異常類A型別的異常,那麼執行該程式碼
*} ...(catch可以有多個)
* finally {
*最終肯定必須要執行的程式碼(例如釋放資源的程式碼)
*}
*程式碼執行的順序:
* 1.try內的程式碼從出現異常的那一行開始,中斷執行
* 2.執行對應的catch塊內的程式碼
* 3.繼續執行try catch結構之後的程式碼
*注意點:
* 1.如果catch內的異常類存在子父類的關係,那麼子類應該在前,父類在後
* 2。如果最後中有返回語句,那麼最後返回的結果肯定以最終中的返回值為準
* 3。如果最後語句中有回報,那麼沒有被處理的異常將會被吞掉
關於流:
流是指一連串流動的資料訊號,通過先進先出的方式接收和傳送資料。
資料流分為輸入流和輸出流,輸入輸出流又分為位元組流和字元流。
位元組流是以位元組為單位,在java.io包中,大部分操作繼承自InputStream類和OutputStream類
字元流是兩個位元組為基本單位,專門處理字串和文字,對於字元流進行操作的類主要是Reader類和Writer類
1.File類
File類可以用於建立檔案。還有其他對檔案進行操作(如獲取檔案地址、獲取檔案長度、判斷目錄是否存在)的方法。
建立檔案的方法:
File f1=new File("src\\aa.txt"); //檔案地址
2.位元組流
讀入檔案和往檔案中寫入內容分別通過FileInputStream和FileOutputStream類實現。
(1)對於FileInputStream類,它繼承自InputStream類,是一個檔案輸入流,進行檔案讀操作最基本的類;注意,由於位元組流的緣故,它無法讀取中文字元。
用法:
(使用一個檔案物件來建立一個輸入流物件來讀取檔案)
File file=new File("src\\aa.txt"); FileInputStream f1=new FileInputStream(file);
(2)對於FileOutputStream類,它繼承與OutputStream類,是檔案輸出流,是檔案基本讀寫的一個類,它可以將記憶體中的資料輸出到檔案中。
用法:
(使用一個檔案物件來建立一個輸出流來寫檔案)
File file=new File("src\\aa.txt");
FileOutputStream f1=new FileOutputStream(file);
我們在輸入流中使用 byte(位元組)陣列 來儲存我們的資料,因此我們不必考慮資料格式,所以說這兩種操作的效率會比較高
3.字元流
(1)寫入檔案:
FileWriter類與BufferWriter類。
前面我們FileInputStream時,使用的是位元組流,但是有個問題無法解決,它只能讀取英文字元,而中文字元是無法讀取的。通過這個操作我們可以讀入中文字元
附一下這個博主寫的文章,裡邊有具體用法https://blog.csdn.net/caidewei121/article/details/89426032
(2)讀取檔案:
FileReader類 與 BufferedReader類
二、Java中的目錄
建立目錄:
File類中有兩個方法可以用來建立資料夾:
- mkdir( )方法建立一個資料夾,成功則返回true,失敗則返回false。失敗表明File物件指定的路徑已經存在,或者由於整個路徑還不存在,該資料夾不能被建立。
- mkdirs()方法建立一個資料夾和它的所有父資料夾。
刪除檔案:刪除檔案可以使用java.io.File.delete()方法