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();
}
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


