java中IO常見的IO流和file類理論總結
總結的很粗糙,以後時間富裕了好好修改一下。
1:Java語言定義了許多類專門負責各種方式的輸入或者輸出,這些類都被放在java.io包中。其中,所有輸入流類都是抽象類InputStream(字節輸入流),或者抽象類Reader(字符輸入流)的子類;而所有輸出流都是抽象類OutputStream(字節輸出流)或者Writer(字符輸出流)的子類。
【首先需要明白的是:流是幹什麽的???(為了永久性的保存數據)
根據數據流向的不同分為輸入流和輸出流;
根據處理數據類型的不同分為字符流和字節流;
】
【然後需要明白的是輸入模式和輸出模式是誰流向誰:
InputStream(字節輸入流)和Reader(字符輸入流)通俗的理解都是讀(read)的。
OutputStream(字節輸出流)和Writer(字符輸出流)通俗的理解都是寫(writer)的。
】
最後下面搞清楚各種流的類型的該怎麽用,誰包含誰,理清思路。
2:InputStream類是字節輸入流的抽象類,是所有字節輸入流的父類,InputStream類具有層次結構如下圖所示;
3:java中的字符是Unicode編碼的,是雙字節的,java中各種語言的文字都以Unicode的形式編碼,Unicode編碼是基於16位的char,所以讀取文件數據是通過字符流會更高效,方便。而一些二進制數據的讀寫,比如圖片、聲音等必須通過字節流來完成。InputStream是用來處理字節的,在處理字符文本時很不方便。Java為字符文本的輸入提供了專門的一套類Reader。Reader類是字符輸入流的抽象類,所有字符輸入流的實現都是它的子類。
4:輸出流OutputStream類是字節輸入流的抽象類,此抽象類表示輸出字節流的所有類的超類。
5:Writer類是字符輸出流的抽象類,所有字符輸出類的實現都是它的子類。
6:File類是IO包中唯一代表磁盤文件本身的對象。通過File來創建,刪除,重命名文件。File類對象的主要作用就是用來獲取文本本身的一些信息。如文本的所在的目錄,文件的長度,讀寫權限等等。(有的需要記憶,比如isFile(),isDirectory(),exits();有的了解即可。使用的時候查看API)
詳細如下: File類(File類的概述和構造方法) A:File類的概述 File更應該叫做一個路徑 文件路徑或者文件夾路徑 路徑分為絕對路徑和相對路徑 絕對路徑是一個固定的路徑,從盤符開始 相對路徑相對於某個位置,在eclipse下是指當前項目下,在dos下 查看API指的是當前路徑 文件和目錄路徑名的抽象表示形式 B:構造方法 File(String pathname):根據一個路徑得到File對象 File(String parent, String child):根據一個目錄和一個子文件/目錄得到File對象 File(File parent, String child):根據一個父File對象和一個子文件/目錄得到File對象 File類(File類的創建功能) A:創建功能 public boolean createNewFile():創建文件 如果存在這樣的文件,就不創建了 public boolean mkdir():創建文件夾 如果存在這樣的文件夾,就不創建了 public boolean mkdirs():創建文件夾,如果父文件夾不存在,會幫你創建出來 (使用createNewFile()文件創建的時候不加.txt或者其他後綴也是文件,不是文件夾;使用mkdir()創建文件夾的時候,如果起的名字是比如aaa.txt也是文件夾不是文件;) 註意事項: 如果你創建文件或者文件夾忘了寫盤符路徑,那麽,默認在項目路徑下。 File類(File類的重命名和刪除功能) A:重命名和刪除功能 public boolean renameTo(File dest):把文件重命名為指定的文件路徑 public boolean delete():刪除文件或者文件夾 B:重命名註意事項 如果路徑名相同,就是改名。 如果路徑名不同,就是改名並剪切。 C:刪除註意事項: Java中的刪除不走回收站。 要刪除一個文件夾,請註意該文件夾內不能包含文件或者文件夾 File類(File類的判斷功能) A:判斷功能 public boolean isDirectory():判斷是否是目錄 public boolean isFile():判斷是否是文件 public boolean exists():判斷是否存在 public boolean canRead():判斷是否可讀 public boolean canWrite():判斷是否可寫 public boolean isHidden():判斷是否隱藏
java中IO常見的IO流和file類理論總結