Java中的流(Stream)是指數據在程序運行時的傳輸方式,它可以被看作是程序和文件之間的數據通道。流的輸入和輸出是指程序從文件或其他數據源中讀取數據或者將數據輸出到文件或其他目的地。
在Java中,流的輸入和輸出都是通過字節流和字符流來實現的。字節流以字節為單位進行讀取寫入,而字符流則以字符為單位進行讀取寫入。
Java中的輸入流類有:InputStream、FileInputStream、ByteArrayInputStream,以及ObjectInputStream等等。而Java中的輸出流類則有:OutputStream、FileOutputStream、ByteArrayOutputStream,以及ObjectOutputStream等等。
下面是一個簡單的Java程序示例,它可以將字符串寫入到一個名為“test.txt”的文件中:
import java.io.*; public class FileStreamTest { public static void main(String[] args) { try { File file = new File("test.txt"); FileOutputStream fos = new FileOutputStream(file); String str = "Hello, World!"; byte[] bytes = str.getBytes(); fos.write(bytes); fos.close(); } catch (IOException e) { e.printStackTrace(); } } }
在上面的代碼中,我們使用了FileOutputStream來打開指定的文件,并獲取了該文件的輸出流。然后我們使用getBytes()方法將字符串轉換成字節數組,最后使用write()方法將字節數組寫入到文件中。
為了讀取文件中的數據,我們可以使用FileInputStream來創建一個輸入流,并讀取其中的數據:
public class FileInputStreamTest { public static void main(String[] args) { try { File file = new File("test.txt"); FileInputStream fis = new FileInputStream(file); byte[] bytes = new byte[(int) file.length()]; fis.read(bytes); String str = new String(bytes); System.out.println(str); fis.close(); } catch (IOException e) { e.printStackTrace(); } } }
在上面的代碼中,我們先創建了一個FileInputStream來打開指定的文件,并獲取該文件的輸入流。然后我們使用read()方法將文件中的數據讀取到一個字節數組中,最后使用String的構造函數將字節數組轉換成字符串,并輸出到屏幕上。
總之,在Java中,輸入和輸出流的使用是程序中十分常見的操作,掌握好這方面的知識可以讓我們更加靈活地讀取和寫入數據,為我們的程序帶來更大的便利。