1. 程式人生 > >java中怎麼記憶io中的in,out,read,write(輸入輸出相關的)

java中怎麼記憶io中的in,out,read,write(輸入輸出相關的)

java中怎麼記憶io中的in,out,read,write(輸入輸出相關的)

我們這個輸入輸出都是相對於記憶體,你把自己想成一個記憶體。你本地c盤的文件是屬於磁碟的也不是記憶體的。執行的時候,就是在記憶體執行,比如程式中new的一個數組等(可以用來作快取或者容器)。

把記憶體想成一個會讀會寫的機器人,機器人讀取資訊到自己記憶體,同時機器人會寫出資訊給外邊。

那麼:

輸入流:就是從磁碟,或者鍵盤讀入記憶體使用的。(這裡故意用讀入,因為read就是對應的輸入流)

輸出流:就是從記憶體寫出到磁碟使用的。(這裡故意用寫出,因為write,就是對應的輸出流)

如果要把一個檔案內容寫到另一個檔案中,就是同時需要使用檔案輸入流和檔案輸出流

首先使用檔案輸入流,將檔案內容讀取到記憶體中,

然後使用檔案輸出流,將內容寫入到另一個檔案中。

FileInputStream in=new FileInputStream("C://Users//ASUS//Desktop//a.txt");
FileOutputStream out=new FileOutputStream("C://Users//ASUS//Desktop//c.txt");
			//建立一個竹筒
byte[]buffer=new byte[1024];
int readLength;
while((readLength=in.read(buffer))>0){//這裡的in.read(buffer);就是把輸入流中的東西,寫入到記憶體中(buffer)。
System.out.println(new String(buffer,0,readLength));
out.write(buffer);//這裡就是把記憶體中(buffer)的內容寫出到輸出流中,也就寫出到了指定檔案中
}