天天看點

java中輸入流輸出流的判斷依據是什麼

工作多年的我,依然不知道輸出流,輸入流到底是個什麼東西。

比如将一串字元串寫到檔案中,到底是輸入流還是輸出流。

如何判斷用輸入流還是用輸出流或者說判斷的依據是什麼。

OutputStream:

FileOutputStream fos=new FileOutputStream("E:"+File.separator+"upload"+File.separator+"a.txt");
byte[] bytes="你好".getBytes(Charset.forName("UTF-8"));
fos.write(bytes);
fos.close();      

上面一段代碼是将你好兩個字輸入到檔案a.txt中。

從上面的代碼判斷向檔案寫入資料是輸出流。

把a.txt中的内容讀到java中:

InputStream:

FileInputStream fis=new FileInputStream("E:"+File.separator+"upload"+File.separator+"a.txt");
int size=6;
byte[] b=new byte[size];
int c=0;
while ((c=fis.read(b))!=-1){
    System.out.println(new String(b,0,c));
}      
java中輸入流輸出流的判斷依據是什麼

 從上面的截圖中我們看到“你好”兩個字已經寫入到a.txt中了,并且也從a.txt中讀取了“你好”,并在控制台列印了。

從上面的兩個例子我們總結輸入流和輸出流的判斷依據:

資料從記憶體到檔案是輸出流,用OutputStream;

資料從檔案到記憶體是輸入流,用InputStream.

判斷的參照物是記憶體。