一、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-tw/n/199107.html
微信掃一掃
支付寶掃一掃