字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化
这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联
在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的
在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统的lang
而在字符流转化为字节流时,实际上是String转化为byte[]时,
byte[] String.getBytes(String charsetName)
也是一样的道理 ,charsetName就是指编码格式
=================
从字符流转换成字节流
将String字符先转换成byte数组,然后用ByteArrayInputStream即可
分享到:
相关推荐
Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 ...而类 InputStreamReader 和 OutputStreamWriter 处理字符流和字节流的转换。字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)效率高。
- **转换流(InputStreamReader/OutputStreamWriter)**:用于在字节流和字符流之间进行转换,常用于处理编码问题。 - **打印流(PrintStream/PrintWriter)**:简化了写入过程,可以自动进行行结束符的添加,并支持...
#### 三、字节流与字符流的选择 选择使用字节流还是字符流取决于具体的应用场景: - 如果需要处理的是文本数据,那么通常使用字符流更为方便,因为它可以直接处理字符,避免了字符编码转换的问题。 - 如果需要处理...
- 示例:`FileInputStream`和`FileOutputStream`用于读写文件,`InputStreamReader`和`OutputStreamWriter`则将字节流转换为字符流。 2. **字符流**: - 字符流处理的是16位的Unicode字符,适用于处理文本数据。`...
mo3 { public static void main(String[] args) throws IOException { File file = new File("d:" + File.separator + "demo.txt");...同时,转换流的使用能让我们在字节流和字符流之间灵活转换,解决编码问题。
- **InputStreamReader/OutputStreamWriter**:在字节流和字符流之间起转换作用,可以指定字符编码,如GBK、UTF-8等。 4. **对象流**: - **ObjectInputStream/ObjectOutputStream**:支持序列化,允许程序将对象...
与字节流相对应,字符流由`Reader`和`Writer`类组成。字符流处理的是Unicode字符,因此每个字符通常占用两个字节。`Reader`是所有字符输入流的基类,`Writer`是所有字符输出流的基类。它们提供读写字符的方法,如`...
- 编码与解码:字符流在读写时会进行编码转换,而字节流不关心数据的字符编码。 在实际开发中,选择字节流还是字符流取决于数据的类型。处理二进制数据,如图片、音频文件等,通常使用字节流;而处理文本文件,如...
字节流和字符流之间的转换是通过InputStreamReader和OutputStreamWriter实现的。InputStreamReader将字节流转换为字符流,它需要一个字符集作为参数,用来解释字节流中的数据。OutputStreamWriter则执行相反的操作,...
字符流由Reader和Writer类族构成,如InputStreamReader和OutputStreamWriter,它们分别用于将字节流转换为字符流。字符流在处理Unicode字符集时特别有用,因为它可以正确处理多种语言的字符编码。例如,使用 ...
本程序主要用于将从串口助手等软件中获取的JPG图片十六进制字符串转换为字节流,以便能够直接观看。 十六进制字符串文本存放到in.txt中,该程序将其转换成图片in.jpg 其中输入文档为“in.txt”,输出文件为“in.jpg...
Java IO库设计时考虑到了字节流和字符流之间的转换,为此提供了两个桥接流:InputStreamReader和OutputStreamWriter。InputStreamReader将字节流转换为字符流,它需要一个字符集作为参数来解码字节;...
java IO流 1. 流的概念 2. 输入流和输出流 3. 字符流、字节流 4. 缓冲流 5. 转换流处理流
转换流如InputStreamReader和OutputStreamWriter,它们起到了字节流和字符流之间的桥梁作用,可以根据指定的字符编码将字节流转换为字符流,反之亦然。 此外,Java的IO流还提供了一些高级特性,比如**过滤流**。...
除此之外,InputStreamReader和OutputStreamWriter是字节流与字符流之间的桥梁,它们允许我们在字节流和字符流之间转换,以适应不同编码格式的需求。 在Java IO中,还有一套转换流(Wrapper Stream),即...
InputStreamReader 把字节流转换成字符流;BufferedReader 缓冲字符流,使得能够使用 readline() 等方法,直接读取一行。 Java 的流操作分为字节流和字符流两种,字节流是最基本的,字符流是为了处理字符而提出来的...
字节转换字符流...
6. **字符流与字节流的区别**: 字符流处理单个字符,适合文本数据,而字节流处理原始字节,适合二进制数据。字符流依赖于特定的字符编码,而字节流不涉及字符编码。 7. **使用示例**: 在`java字符流操作.java`文件...
Java中字符流和字节流之间的转换通常是通过InputStreamReader和OutputStreamWriter实现的。InputStreamReader是InputStream到Reader的桥梁,它会根据指定的字符集将字节流解码为字符流;OutputStreamWriter则是...
转换流是字符流和字节流之间的桥梁,它们允许在两者之间转换。InputStreamReader是将字节流转换为字符流,OutputStreamWriter则是将字符流转换为字节流。 总的来说,Java的字符流和字节流在文件操作上各有其优势,...