Java輸入流(Input Stream)和輸出流(Output Stream)是Java I/O關鍵字中的基本概念。輸入流和輸出流分別用于讀和寫數據。輸入流將數據從數據源(比如文件、鍵盤、網絡等)讀入程序中,而輸出流則將數據從程序中寫入到目的地(比如文件、屏幕、網絡等)。
Java中,輸入流和輸出流被封裝在java.io包中,它們都是抽象類。在使用Java的I/O類庫時,我們需要實例化具體的輸入流或輸出流來進行讀寫操作。
<pre>
//使用FileInputStream讀取文件數據
FileInputStream fileInputStream = new FileInputStream("test.txt");
//使用FileOutputStream寫入文件數據
FileOutputStream fileOutputStream = new FileOutputStream("output.txt");</pre>
輸入流和輸出流的主要不同在于它們的方向和用途。輸入流用于將數據從一個源讀入程序中,而輸出流用于將數據從程序寫入到一個目的地。例如,我們可以使用以下代碼從鍵盤讀取用戶輸入的數據:
<pre>
//使用System.in創建輸入流
InputStreamReader inputStreamReader = new InputStreamReader(System.in);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
//讀取用戶輸入
String input = bufferedReader.readLine();</pre>
在這段代碼中,我們使用了Java的標準輸入流System.in來創建一個輸入流。然后我們創建了一個InputStreamReader對象,該對象用于讀取輸入流中的數據,并將其轉換為字符流。最后,我們使用BufferedReader對象讀取每一行用戶輸入的數據。
相反地,當我們想將數據寫入文件中時,我們可以使用以下代碼:
<pre>
//使用FileOutputStream寫入文件數據
FileOutputStream fileOutputStream = new FileOutputStream("output.txt");
//寫入數據
fileOutputStream.write("Hello, World!".getBytes());</pre>
在這段代碼中,我們使用Java的FileOutputStream類創建一個輸出流。然后,我們使用write()方法將字符串“Hello, World!”寫入到文件中。
綜上所述,輸入流和輸出流是Java I/O中非常重要的概念。它們的方向和用途不同,我們可以根據不同的需求選擇適合的輸入流或輸出流來讀寫數據。