1. 程式人生 > >IO流

IO流

說明 劃分 文件 繼承 分類 fileread writer consola pan

一.file

File類是io包中唯一表示磁盤文件和磁盤目錄的對象的路徑

該類包含了創建、刪除文件、重命名文件、判斷文件是否存在,查詢等功能

註意:只能設置和獲取文件本身的信息,不能設置和獲取文件的具體內容

C:\\JAVAprogram\\Java\\jdk1.8.0_111

獲取File路徑

操作file路徑和名稱

File getAbsoluteFile() :獲取絕對路徑

String getAbsolutePath() :獲取絕對路徑

String getPath() :獲取文件路徑

String getName :獲取文件名稱

File getParentFile() :獲取上級目錄文件

String getparent() 獲取上級目錄路徑

檢測File狀態的方法

boolean canExcute() 是否可執行文件

boolean canRead() 是否可讀

boolean canWrite() 是否可寫

boolean isHidden() 是否隱藏

long lastModified() 判斷文件最後修改時間

long length() 文件長度大小(字節)

File類中方法-文件操作

Boolean isFile() 是否是文件

Boolean createNewFile() 創建新的文件

Boolean delete() 刪除文件

Void deleteOnExit() 在jvm停止時刪除文件

Boolean exists() 判斷文件是否存在

Boolean renameTo(File dest) 重新修改名字

File類中方法-目錄操作

Boolean isDirectory() 判斷是否是目錄

Boolean mkdir() 創建當前目錄

Boolean mkdirs() 創建當前目錄和上級目錄

String[] list() 列出所有的文件名

File[] listFiles() 列出所有文件對象

Static File[] listRoots() 列出系統盤符

二.IO操作

什麽是IO(input/output):輸入和輸出

IO設備:和電腦通信的設備

輸入設備:麥克風、鍵盤、鼠標

輸出設備:打印機、顯示器、投影儀

技術分享技術分享

為什麽程序需要IO

案例1.打遊戲操作,得分較高,存儲遊戲的信息

此時需要把遊戲中的數據存儲起來,只能存儲在文件中。

案例2.打遊戲操作,查看英雄榜,數據存儲在文件中,需要去訪問文件內容

案例3.上傳和下載

IO操作是個相對的過程:

程序需要數據:把數據流入到程序中>>>輸入

程序保存數據:把數據輸出到文件中>>>輸出

IO流的分類

站在不同的角度,分類的方式是不一樣的:

1.根據流向劃分:輸入流 輸出流

2.根據數據的單位劃分:字節流 字符流

3.根據功能不同的劃分:節點流 包裝流

四大基流:字節輸入流 字節輸出流 字符輸入流 字符輸出流

技術分享

四大基流都是抽象類,其他流都是繼承於這四大流

我們不能創建四大基流的對象,只能創建其子類對象。無論是什麽流,都有close()方法,用來關閉資 源。

如果操作文件,就得開通一個流對象關聯我們的磁盤文件,如果不關閉資源,磁盤的文件一直被程序引用著,不能刪除也不能修改。

操作IO流的步驟/模板:

1.創建源或者目標對象(水井)。

文件流 輸入操作:文件中的數據流向程序,此時文件是源,程序是目標

輸出操作:把程序中的數據流向文件中,文件是目標,程序是源

2.創建IO流對象(水管)

輸入操作:創建輸入流對象

輸出操作:創建輸出流對象

3.具體的IO操作

輸入操作:輸入流對象的 read 方法

輸出操作:輸出流對象的write方法

4.關閉資源/釋放資源

輸入操作:輸入流對象的close()方法

輸出操作:輸出流對象的close()方法

IO操作:讀進來,寫出去

讀進來:強調的是輸入,說明是用read方法

寫出去:強調的是輸出,說明是用write方法

文件流:程序和文件打交道

此時談論的文件是純文本文件(txt記事本)

FileInputStream 文件的字節輸入流

FileOutputStream 文件的字節輸出流

FileReader 文件的字符輸入流

FileWriter 文件的字符輸出流

IO流