Java是一種廣泛使用的編程語言,其流是Java API的一部分,用于訪問和處理不同類型的數(shù)據(jù)。Java流可以分為字符流和字節(jié)流兩種類型。
字符流(Reader和Writer)通常用于處理文本數(shù)據(jù),而字節(jié)流(InputStream和OutputStream)通常用于處理二進(jìn)制數(shù)據(jù)。
// 字符流樣例 public static void main(String[] args) { try { FileReader fileReader = new FileReader("example.txt"); BufferedReader bufferedReader = new BufferedReader(fileReader); String line; while ((line = bufferedReader.readLine()) != null) { System.out.println(line); } bufferedReader.close(); } catch (Exception e) { e.printStackTrace(); } }
上述代碼中,我們使用了字符流來讀取一個文本文件。FileReader類用于打開文件并讀取其中的字符數(shù)據(jù)。BufferedReader用于緩存輸入,從而提供更高效的讀取。最后在循環(huán)中對行數(shù)據(jù)進(jìn)行打印,并在完成后關(guān)閉我們的流。
// 字節(jié)流樣例 public static void main(String[] args) { try { FileInputStream inputStream = new FileInputStream("example.jpg"); FileOutputStream outputStream = new FileOutputStream("copy.jpg"); byte[] buffer = new byte[1024]; int length; while ((length = inputStream.read(buffer)) >0) { outputStream.write(buffer, 0, length); } inputStream.close(); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } }
在上述代碼中,我們使用了字節(jié)流來復(fù)制一個二進(jìn)制文件。FileInputStream用于打開文件并讀取其中的字節(jié)數(shù)據(jù)。FileOutputStream用于將我們的數(shù)據(jù)寫入到一個新的文件。我們使用了一個緩沖區(qū)來讀取數(shù)據(jù)并向文件中寫入數(shù)據(jù)。在處理完數(shù)據(jù)后,我們關(guān)閉我們的流。
兩種流類型都提供了訪問和處理不同類型數(shù)據(jù)的方法。選擇正確的流類型可以幫助我們更好地處理我們的數(shù)據(jù)。