1. 程式人生 > >JAVA第十週學習總結

JAVA第十週學習總結

201711671102 曾燃亮 《java程式設計》第10周學習總結

教材學習內容總結

第十章 輸入、輸出流

主要內容

File類、檔案位元組輸入輸出流、檔案字元輸入輸出流、緩衝流、隨機流、陣列流、資料流、物件流、序列化與物件克隆

一.File類

File類的物件主要用來獲取檔案本身的一些資訊

File類的構造方法有3個

File(String filename)

File(String directoryPath,String filename)

File(Fiel dir,String filename);

filename是檔名,directoryPath是檔案路徑,dir為一個目錄。

1.檔案的屬性

File類的方法

public String getName()獲取檔名

public boolean canRead()判斷檔案是否是可讀的

public boolean canWrite()判斷檔案是否可被寫入

public boolean exists()判斷檔案是否存在

public long length()獲取檔案的長度

public String getAbsolutePath()獲取檔案的絕對路徑

public String getParent()獲取檔案的父目錄

public boolean isFile()判斷檔案是否是一個普通檔案,而不是目錄

public boolean isDirectory()判斷檔案是否是一個目錄

public boolean isHidden()判斷檔案是否是隱藏檔案

public long lastModified()獲取檔案最後的修改時間

2.目錄

1)建立目錄

File物件呼叫public boolean mkdir()建立一個目錄,如果建立成果返回true,否則返回false

2)列出目錄中的檔案

如果File物件是目錄

public String[] list()用字串形式返回目錄下的全部檔案

public File[] listFiles()用File物件形式 返回目錄下的全部檔案

sometime需要列出目錄的指定型別檔案,可以使用File類的下列兩個方法

public String[] list(FilenameFilter obj)該方法用字串形式返回目錄下的指定型別的所有檔案

public File[] listFiles(FilenameFileter obj)改方法用File 物件形式返回目錄下的指定型別的所有檔案

上面的兩個方法的引數FilenameFilter是一個介面,

3.檔案的建立與刪除

file.delete();

4.執行可執行檔案

Runtime ec;

ec=Runtime.getRuntime();

二.檔案位元組輸入流

4個步驟

設定輸入流的源

建立指向源的輸入流

讓輸入流讀取源中的資料

關閉輸入流

1)構造方法

FileInputStream(String name);

FileInputStream(File file);

第一個構造方法使用給定的檔名name建立FileInputStream流,第二個構造方法使用File物件建立FileInputStream流。引數name,file指定的檔案稱為輸入流。

2)使用輸入流讀取位元組

int read()  返回(0~255之間的一個整數)位元組值,如果未讀取出位元組就返回-1。

int read(byte b[]) 讀取b.length個位元組到資料b中,返回字數.如果到達檔案末尾,返回-1。

int read(byte b[],int off,int len)讀取len個位元組到位元組陣列b中,如果到達檔案末尾,返回-1,off指定從位元組陣列的某個位置開始存放讀取。

關閉流

close()

3.檔案位元組輸出流

4個基本步驟

1)給出輸出流的目的地

2)建立指向目的地的輸出流

3)讓輸出流把資料寫入到目的地

4)關閉輸出流

 

1)構造方法

FileOutputStream(String name);

FileOutputStream(File file);

第一個構造方法使用給定的檔名name建立FileOutputStream流,第二個構造方法使用File物件建立FileOutputStream流。引數name,file指定的檔案稱為輸入流。

2)使用輸入流讀取位元組

void write(int n)輸出呼叫該方法向目的地寫入資料

void write(byte b[])輸出流呼叫該方法向目的地寫入一個位元組陣列

void write(byte b[],int off,int,len)給定位元組陣列中起始於偏移量off處取len個位元組寫到目的地

void close()關閉資料流

3)關閉流

close()

4.檔案字元輸入輸出流

5.緩衝流

BufferedReader和BufferedWriter類建立的物件稱為緩衝輸入輸出流,增強了讀寫檔案的能力。

Example10_7(P291)

6.隨機流

RandomAccessFile;誒建立的流稱作隨機流。

7.陣列流

1)位元組陣列流

2)字元陣列流

8.資料流

9.物件流

ObjectInputStream和ObjectOutputStream類分別是InputStream和OutputStream類的子類,建立的物件稱為物件輸入流和物件輸出流。物件輸入流用writeObject(Object obj)方法將一個物件obj寫入到一個檔案,物件輸入流用readObject()讀取一個物件到程式中。

一個類如果實現了Serializable介面,那麼這個類建立的物件就是所謂序列化的物件

10.序列化與克隆物件

11.使用Scanner解析檔案

12.檔案對話方塊

13.帶進度條的輸入流

14.檔案鎖

教材學習中的問題和解決過程

loading。。。。。

程式碼除錯中的問題和解決過程

loading。。。。。

感悟

loading。。。。。

目標:5000行

第一週:35行

第二週:70行

第三、四周:200行

第五週:640行

第六週:150行

第七週:200行

第八週:300行

第九周:400行

第十週:570行