java io系統(tǒng),用了一個很巧妙的設(shè)計模式.
1.I/O操作的目標.
2.I/O的分類方法.
3.讀取文件和寫入文件的方法.
1.I/O操作的目標
從數(shù)據(jù)源當中讀取數(shù)據(jù),以及將數(shù)據(jù)寫入到數(shù)據(jù)目的地當中.
I/O流向
文件 ==輸入 ===== ===== 輸出 == 文件
鍵盤 =======> java程序 ========> 屏幕
網(wǎng)絡(luò) 網(wǎng)絡(luò)
...... .......
所謂的輸入輸出是個方向的問題,
所謂的方向,必須有一個參照物的物體.
相對于java應用程序本身.
IO的分類.
第一種分法:
1.輸入流
2.輸出流.
第二種分法
1.字節(jié)流.
2.字符流.
第三種分法
1.節(jié)點流
2.處理流.
在java的世界里面,所有的東西都是對象.
輸入,輸出流都是對象.
要有對象,先有類
I/O當中的核心類.
抽象類 InputStream OutputStream (所有字節(jié)流的父類)
/ \ /
| |
| |
FileInputStream FileOnputStream
(最常用的子類)
這4個類是處理字節(jié)流核心類,字符流核心類下節(jié)課介紹.
核心類的核心方法
InputStream
intread(byte[] b, int off , int len)
OutputStream
void write(byte[] b ,int off ,in len);
總結(jié):
1. I/O系統(tǒng)的主要目標是為了對數(shù)據(jù)進行讀寫操作.
2.數(shù)據(jù)的流向以java程序為參照物
3.I/O流可以有三種分類方法.
4.read方法和writer方法.
//第一步驟:導入類; import java.io.*; class Test{ public static void main(String args[]){ //聲明輸入流引用 FileInputStream fis = null; //聲明輸出流引用 FileOutputStream fos = null; try{ //生成代表輸入流的對象. fis = new FileInputStream("g:/srclxm/from.txt"); //生成代表輸出流的對象 fos = new FileOutputStream("g:/srclxm/to.txt"); //生成一個字節(jié)數(shù)組 byte [] buffer = new byte[100]; //調(diào)用輸入流對象的read方法,讀取數(shù)據(jù) //fis.read(buffer,0,buffer.length); int temp =fis.read(buffer,0,buffer.length); fos.write(buffer,0,temp); //for(int i = 0; i < buffer.length; i++){ // System.out.println(buffer[i]); String s = new String(buffer); //調(diào)用一個String對象的 trim方法,將會去除掉這個字符串 //的首尾空格和空字符. s = s.trim(); System.out.println(s); //} } catch(Exception e){ System.out.println(e); } } }