一、什么是IO流
輸入流和輸出流。
- 輸入流:數據從數據源(文件)到程序(內存)的路徑
- 輸出流:數據從程序(內存)到數據源(文件)的路徑
二、常用的文件操作
學習目標:創建文件對象相關構造器和方法
new File(String pathname)//根據路徑構建一個File對象
new File(File parent,String child)//根據父目錄文件+子路徑構建
new File(String parent,String child)//根據父目錄+子路徑構建
學習任務:在e盤下,創建文件news1.txt、news2.txt、news3.txt用三種不同方式創建。
三種方式簡單看一下就行,后面會經常遇到。
new File(String pathname)//根據路徑構建一個File對象
new File(File parent,String child)//根據父目錄文件+子路徑構建
new File(String parent,String child)//根據父目錄+子路徑構建
三、獲取文件的相關信息
getName、getAbsolutePath、getParent、length、exists、isFile、isDirectory
學習任務:獲取文件的大小、文件名、路徑、父File,是文件還是目錄(目錄本質也是文件,一種特殊的文件),是否存在
四、目錄的操作和文件刪除
學習任務:
- 判斷e:\news1.txt是否存在,如果存在就刪除
- 判斷e:\\demo02是否存在,存在就刪除,否則提示不存在
- 判斷e:\\demo\a\b\c目錄是否存在,如果存在就提示已經存在,否則就創建
按操作數據單位不同分為:字節流(8bit)二進制文件,字符流(按字符)文本文件
按數據流的流向不同分為:輸入流,輸出流
按流的角色的不同分為:節點流,處理流/包裝流
字節流:InputStream,OutputStream
字符流:Reader,Writer
五、IO流體系圖-常用的類
六、FileInputStream常用方法
學習任務:請使用 FileInputStream 讀取 hello.txt 文件,并將文件內容顯示
先在e盤下創建hello.txt輸入內容hello world
七、FileOutputStream常用方法
學習任務:請使用 FileOutputStream 在 abc.txt 文件,中寫入 “hello,world”. 如果文件不存在,會創建 文件(注意:前提是目錄已經存在.)
學習任務:編程完成圖片/音樂 的拷貝
八、FileReader常用方法
- new FileReader(File/String)
- read:每次讀取單個字符,返回該字符,如果到文件末尾返回-1
- read(char[]):批量讀取多個字符到數組,返回讀取到的字符數,如果到文件末尾返回-1
- 相關API:
- new String(char[]):將char[]轉換成String
- new String(char[],off,len):將char[]的指定部分轉換成String
九、FileWriter常用方法
- new FileWriter(File/String):覆蓋模式,相當于流的指針在首端
- new FileWriter(File/String,true):追加模式,相當于流的指針在尾端
- write(int):寫入單個字符
- write(char[]):寫入指定數組
- write(char[],off,len):寫入指定數組的指定部分
- write(string):寫入單個字符
- write(string[],off,len):寫入字符串的指定部分
- 相關API:String類:toCharArray:將String轉換成char[]
- FileWriter使用后,必須要關閉(close)或刷新(flush), 否則寫入不到指定的文件!
學習任務:使用 FileReader 從 story.txt ,這一步先在story.txt存在數據,然后在端口輸出數據顯示出來
學習任務:字符數組讀取文件
學習任務:使用 FileWriter 將 “風雨之后,定見彩虹” 寫入到 note.txt 文件中
到此這篇關于Java細數IO流基礎到方法使用的文章就介紹到這了,更多相關Java IO流內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!