22

1:登錄註冊IO版本案例(掌握)
要求,對着寫一遍。

cn.itcast.pojo User
cn.itcast.dao UserDao
cn.itcast.dao.impl UserDaoImpl(實現我不管)
cn.itcast.game GuessNumber
cn.itcast.test UserTest


2:數據操作流(操作基本類型數據的流)(理解)
(1)可以操作基本類型的數據
(2)流對象名稱
DataInputStream
DataOutputStream


3:內存操作流(理解)
(1)有些時候我們操作完畢後,未必需要產生一個文件,就可以使用內存操作流。
(2)三種
A:ByteArrayInputStream,ByteArrayOutputStream
B:CharArrayReader,CharArrayWriter
C:StringReader,StringWriter


4:打印流(掌握)
(1)字節打印流,字符打印流
(2)特點:
A:只操作目的地,不操作數據源
B:可以操作任意類型的數據
C:如果啓用了自動刷新,在調用println()方法的時候,能夠換行並刷新
D:可以直接操作文件
問題:哪些流可以直接操作文件呢?
看API,如果其構造方法能夠同時接收File和String類型的參數,一般都是可以直接操作文件的
(3)複製文本文件
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
PrintWriter pw = new PrintWriter(new FileWriter("b.txt"),true);

String line = null;
while((line=br.readLine())!=null) {
pw.println(line);
}

pw.close();
br.close();

5:標準輸入輸出流(理解)
(1)System類下面有這樣的兩個字段
in 標準輸入流
out 標準輸出流
(2)三種鍵盤錄入方式
A:main方法的args接收參數
B:System.in通過BufferedReader進行包裝
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
C:Scanner
Scanner sc = new Scanner(System.in);
(3)輸出語句的原理和如何使用字符流輸出數據
A:原理
System.out.println("helloworld");

PrintStream ps = System.out;
ps.println("helloworld");
B:把System.out用字符緩衝流包裝一下使用
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));


6:隨機訪問流(理解)
(1)可以按照文件指針的位置寫數據和讀數據。
(2)案例:
A:寫數據
B:讀數據
C:獲取和改變文件指針的位置


7:合併流(理解)
(1)把多個輸入流的數據寫到一個輸出流中。
(2)構造方法:
A:SequenceInputStream(InputStream s1, InputStream s2) 
B:SequenceInputStream(Enumeration<? extends InputStream> e) 


8:序列化流(理解)
(1)可以把對象寫入文本文件或者在網絡中傳輸
(2)如何實現序列化呢?
讓被序列化的對象所屬類實現序列化接口。
該接口是一個標記接口。沒有功能需要實現。
(3)注意問題:
把數據寫到文件後,在去修改類會產生一個問題。
如何解決該問題呢?
在類文件中,給出一個固定的序列化id值。
而且,這樣也可以解決黃色警告線問題
(4)面試題:
什麼時候序列化?
如何實現序列化?
什麼是反序列化?


9:Properties(理解)
(1)是一個集合類,Hashtable的子類
(2)特有功能
A:public Object setProperty(String key,String value)
B:public String getProperty(String key)
C:public Set<String> stringPropertyNames()
(3)和IO流結合的方法
把鍵值對形式的文本文件內容加載到集合中
public void load(Reader reader)
public void load(InputStream inStream)


把集合中的數據存儲到文本文件中
public void store(Writer writer,String comments)
public void store(OutputStream out,String comments)
(4)案例:
A:根據給定的文件判斷是否有鍵爲"lisi"的,如果有就修改其值爲100
B:寫一個程序實現控制猜數字小遊戲程序不能玩超過5次


10:NIO(瞭解)
(1)JDK4出現的NIO,對以前的IO操作進行了優化,提供了效率。但是大部分我們看到的還是以前的IO
(2)JDK7的NIO的使用
Path:路徑
Paths:通過靜態方法返回一個路徑
Files:提供了常見的功能
複製文本文件
把集合中的數據寫到文本文件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章