Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để chuyển đổi một OutputStream thành một Writer trong Java?

Một Dòng đầu ra lớp là hướng byte trong khi Người viết lớp là hướng ký tự . Chúng tôi có thể chuyển đổi lớp OutputStream thành lớp Writer bằng cách sử dụng OutputStreamWriter và chuyển một đối số của ByteArrayOutputStream đối tượng với OutputStreamWriter constructor. Một OutputStreamWriter là một cầu nối từ một luồng ký tự đến một luồng byte, các ký tự được ghi vào đó được mã hóa thành các byte bằng cách sử dụng một bộ ký tự được chỉ định.

Cú pháp

public class OutputStreamWriter extends Writer

Ví dụ

import java.io.*;
public class OutputStreamToWriterTest {
   public static void main(String[] args) throws Exception {
      String str = "TUTORIALSPOINT";
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      OutputStreamWriter osw = new OutputStreamWriter(baos);
      for (int i=0; i < str.length(); i++) {
         osw.write((int) str.charAt(i));
      }
      osw.close();
      byte[] b = baos.toByteArray();
      for (int j=0; j < b.length; j++) {
         System.out.println(b[j]);
      }
   }
}

Đầu ra

84
85
84
79
82
73
65
76
83
80
79
73
78
84