Java中的流(Stream)是指一組流式數據操作的抽象。流將程序看作是一系列的字節流或字符流的處理過程,用于讀取、寫入數據到文件、網絡、輸出終端等設備上。
Java流主要分為字節流和字符流兩種類型。字節流(ByteStream)以字節為單位讀寫數據,適合處理二進制數據和字節流,如讀取圖片、音頻、視頻等多媒體文件。字符流(CharStream)以字符為單位讀寫數據,適合處理文本數據和字符流,如讀取文本文件。
//字節流 InputStream is = new FileInputStream("example.txt"); int b; while((b = is.read()) != -1){ System.out.print((char) b); } is.close(); //字符流 Reader reader = new FileReader("example.txt"); int ch; while((ch = reader.read()) != -1){ System.out.print((char) ch); } reader.close();
字節流和字符流的操作方式基本相似,只不過處理的數據類型不同。字節流在處理數據時,適合使用BufferedInputStream或BufferedOutputStream加快讀寫速度;字符流在處理數據時,適合使用BufferedReader或BufferedWriter提供更好的讀取方式和寫入方式。
//字節緩存流 InputStream is = new FileInputStream("example.txt"); BufferedInputStream bis = new BufferedInputStream(is); int b; while((b = bis.read()) != -1){ System.out.print((char) b); } bis.close(); is.close(); //字符緩存流 Reader reader = new FileReader("example.txt"); BufferedReader br = new BufferedReader(reader); String s; while((s = br.readLine()) != null){ System.out.println(s); } br.close(); reader.close();
總的來說,字節流和字符流各有其適用場景。在操作過程中,可以根據需要進行選擇,以達到更好的讀寫效果。
上一篇vue開源項目oa
下一篇java 字符和整數相加