Java中流的學習總結(1)

2021-08-05 20:22:55 字數 2390 閱讀 5546

1、 file類的作用:

a) 在file中只是涉及到檔案和資料夾的最基本的操作,比如如何建立、刪除、重新命名等。

b) 在建立file物件是涉及到了檔案儲存路徑的問題:

i. 絕對路徑:包括碟符在內的完整的檔案路徑。

ii. 相對路徑:在當前檔案目錄下的檔案的路徑。

c) file類中的常見的方法中的注意事項:

i. file1.renameto(file2):file1重新命名為file2,要求就是file1一定要存在,而file2一定不存在。file1和file2可以是檔案也可以是資料夾。

ii. mkdir()和mkdirs()的區別:

1. mkdir():建立乙個檔案目錄,如果上層的檔案目錄存在,就可以建立。

2. nkdirs(): 建立乙個檔案怒路,如果上層的檔案目錄不存在,就可以一併建立。

2、 io流的說明:

a) input和output的區別:

i. input:從外部資料到程式中。

ii. output: 從程式輸出到外部。

b) io流的分類:

i. 按照傳送的資料單位來分:分為位元組流(8bit)、字元流(16bit)

1. 位元組流主要就是用於處理非文字檔案。

a) 位元組流

2. 字元流主要就是用於處理檔案檔案。

ii. 按照流的流向可以分為:輸入流和輸出流。

iii. 按照流的角色不同可以分為:節點流和處理流。

1. 節點流:程式直接將流對到檔案上的流稱為節點流。

a) 常用的節點流有:fileinputstream \ fileoutputstream \ filereader \ filewriter

2. 處理流:在節點流外部再包多一層流,新增額外的功能。

a) 常見的處理流就是:bufferedinputstream \bufferedoutputstream \bufferedreader\ bufferedwriter

iv. 體系說明:

抽象基類 inputstream outputstream reader writer

節點流 fileinputstream fileoutputstream filereader filewriter

處理流 bufferedinputstream bufferedoutputstream bufferedreader bufferedwriter

c) io流的使用:

i. 檔案的讀取到控制台和複製:推薦使用使用緩衝流進行處理,原因是:

1. 節點流是柱塞式的,而緩衝流不是柱塞式的。所以緩衝流的速度會比節點流的速度要快。

ii. 用例:

1. 使用bufferedinputstream 和bufferedoutputstream來實現費文字檔案的複製。

3、  

4、 @test

5、 public

void

testcopyfile(string src, string desc)

28、 } catch (ioexception e) finally catch (ioexception e)

40、 }

41、 if (bis != null) catch (ioexception e)

48、 }

49、 }

50、 }

*1. 使用bufferedreader 和 bufferedwriter 來實現文字檔案的複製。*
51、 public

class testbufferedreaderwriter

57、

58、 public

void

bufferedreaderwriter(string src, string desc)

77、 string str = null;

78、 while ((str = br.readline()) != null)

85、 } catch (ioexception e) finally catch (ioexception e)

96、 }

97、 if (br != null) catch (ioexception e)

104、 }

105、 }

106、

107、 }

108、 }

JAVA中流的flush 方法

io流中每乙個類都實現了closeable介面,它們進行資源操作之後都需要執行close 方法將流關閉 但位元組流與字元流的不同之處在於 位元組流是直接與資料產生互動,而字元流在與資料互動之前要經過乙個緩衝區。也就是說,字元流中的資料是暫存於緩衝區的,如果不將緩衝區中的資料真正地送達 目的地 結果就...

Java學習總結1 多執行緒程式設計

一 建立執行緒的方法一 繼承 extends thread 重寫run 方法 舉個栗子?public class mythread extends thread 傳遞name表示執行緒名字 public mythread string name override public void run sy...

java面試總結1

一.假設有乙個池塘,裡面有無窮多的水.現有2個空水壺,容積分別為5公升和6公升.問題是如何只用這2個水壺從池塘裡取得3公升的水?6公升的叫做a,5公升的叫做b 1 裝a滿,把a倒入b滿,a的剩下1公升 2 b倒空,把a的1公升倒入b,這時候a和b分別為0和1 3 再裝a滿,倒入b讓它滿,由於b的可裝...