一、FileOutputStream
FileOutputStream是OutputStream類的一種常見實現,用於將數據寫入文件。可以通過創建File對象並將其作為參數傳遞給FileOutputStream構造函數來指定要寫入的文件。
File file = new File("output.txt"); try (OutputStream outputStream = new FileOutputStream(file)) { // 寫入數據 } catch (IOException e) { e.printStackTrace(); }
在try-with-resources塊中創建了FileOutputStream對象,這樣可以自動關閉它,而不需要再使用finally塊來關閉。
二、OutputStream flush方法
OutputStream中的flush()方法用於強制將任何緩衝的輸出字節流發送出去,並清空緩衝區。這在需要確保所有數據都已寫入時非常有用。
try (OutputStream outputStream = new FileOutputStream(file)) { String data = "Hello, World!"; byte[] bytes = data.getBytes(); outputStream.write(bytes); outputStream.flush(); } catch (IOException e) { e.printStackTrace(); }
三、OutputStream用於
OutputStream用於將字節寫入輸出流。下面的示例代碼演示如何將數據寫入OutputStream中:
try (OutputStream outputStream = new FileOutputStream(file)) { String data = "Hello, World!"; byte[] bytes = data.getBytes(); outputStream.write(bytes); } catch (IOException e) { e.printStackTrace(); }
四、OutputStream編碼
OutputStream中使用的編碼格式可以通過OutputStreamWriter指定。一般來說,可以使用UTF-8編碼格式來處理中文字符。
try (OutputStream outputStream = new FileOutputStream(file); OutputStreamWriter writer = new OutputStreamWriter(outputStream, "UTF-8")) { String data = "你好,世界!"; writer.write(data); } catch (IOException e) { e.printStackTrace(); }
五、OutputStream轉String
OutputStream無法直接將數據轉換為String類型,但可以將其寫入ByteArrayOutputStream中,然後將ByteArrayOutputStream轉換為String。
try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { String data = "Hello, World!"; byte[] bytes = data.getBytes(); outputStream.write(bytes); String result = new String(outputStream.toByteArray(), "UTF-8"); } catch (IOException e) { e.printStackTrace(); }
六、OutputStream類的方法
除了上面提到的方法外,OutputStream類還有其他一些方法,如下所示:
- write(byte[] b):從指定的字節數組寫入數據到輸出流中。
- write(byte[] b, int off, int len):從指定的字節數組寫入len個字節,從偏移量off開始寫入數據。
- write(int b):寫入單個字節。
- close():關閉輸出流。
七、InputStream作用
InputStream用於從輸入流中讀取字節。通常使用基於InputStream的子類,如FileInputStream。
File file = new File("input.txt"); try (InputStream inputStream = new FileInputStream(file)) { // 讀取數據 } catch (IOException e) { e.printStackTrace(); }
八、File轉OutputStream
我們可以使用Path對象獲取File對象,進而將其轉換為OutputStream對象來寫入數據
Path path = Paths.get("output.txt"); try (OutputStream outputStream = Files.newOutputStream(path)) { String data = "Hello, World!"; byte[] bytes = data.getBytes(); outputStream.write(bytes); } catch (IOException e) { e.printStackTrace(); }
以上關於OutputStream用法的詳細介紹,希望對開發工程師有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/199107.html