java字符流转换成字节流
我们都知道java中分为字符流(`Reader` 和 `Writer`)和 字节流(`InputStream` 和 `OutputStream`) 这是java中两种不同的数据格式 ============================================================================================== 字符流:用于处理字符数据 字节流:用于处理原始字节数据。 有时候,我们需要对两种数据进行相关转换处理 ============================================================================================== 那么如何将字符流转换为字节流呢?下文笔者将一一道来,如下所示 ============================================================================================== 字符流转换为字节流 可使用 `OutputStreamWriter` 类 `OutputStreamWriter` 是一个字符流到字节流的桥梁,它将字符编码成字节 import java.io.*; public class CharToByteStreamExample { public static void main(String[] args) { try { // 创建一个 OutputStream 对象 OutputStream outputStream = new FileOutputStream("output.txt"); // 创建一个 OutputStreamWriter 对象,将 OutputStream 转换为 Writer Writer writer = new OutputStreamWriter(outputStream, "UTF-8"); // 使用 Writer 写入字符数据 writer.write("Hello, World!"); // 关闭 Writer 和 OutputStream writer.close(); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } 字节流转换为字符流 将字节流转换为字符流 可使用 `InputStreamReader` 类 `InputStreamReader` 是一个字节流到字符流的桥梁,它将字节解码成字符 import java.io.*; public class ByteToCharStreamExample { public static void main(String[] args) { try { // 创建一个 InputStream 对象 InputStream inputStream = new FileInputStream("input.txt"); // 创建一个 InputStreamReader 对象,将 InputStream 转换为 Reader Reader reader = new InputStreamReader(inputStream, "UTF-8"); // 使用 Reader 读取字符数据 int character; while ((character = reader.read()) != -1) { System.out.print((char) character); } // 关闭 Reader 和 InputStream reader.close(); inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
字符流转字节流的示例
将字符流转换为字节流并使用缓冲: import java.io.*; public class BufferedCharToByteStreamExample { public static void main(String[] args) { try { // 创建一个 OutputStream 对象 OutputStream outputStream = new FileOutputStream("output.txt"); // 创建一个 OutputStreamWriter 对象,并使用 BufferedWriter 缓冲 Writer writer = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8")); // 使用 Writer 写入字符数据 writer.write("Hello, World!"); // 关闭 Writer 和 OutputStream writer.close(); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } 将字节流转换为字符流并使用缓冲: import java.io.*; public class BufferedByteToCharStreamExample { public static void main(String[] args) { try { // 创建一个 InputStream 对象 InputStream inputStream = new FileInputStream("input.txt"); // 创建一个 InputStreamReader 对象,并使用 BufferedReader 缓冲 Reader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); // 使用 Reader 读取字符数据 int character; while ((character = reader.read()) != -1) { System.out.print((char) character); } // 关闭 Reader 和 InputStream reader.close(); inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。