0
点赞
收藏
分享

微信扫一扫

00022.12 [第三种]转换流:OutputStreamWriter


系列文章目录

文章目录

  • ​​系列文章目录​​
  • ​​前言​​
  • ​​一、OutputStreamWriter​​
  • ​​代码​​

前言

接上一篇InputStreamReader

00022.12 [第三种]转换流:OutputStreamWriter_OutputStream

一、OutputStreamWriter

此篇

编码 : 字符–>字节(字符转为字节)

00022.12 [第三种]转换流:OutputStreamWriter_OutputStream_02


00022.12 [第三种]转换流:OutputStreamWriter_Test_03


乱码了

怎么解决呢?

00022.12 [第三种]转换流:OutputStreamWriter_编码_04


所以存文本的时候还要考虑编码

解决方式一

00022.12 [第三种]转换流:OutputStreamWriter_Test_05


除了用String的编码还可以用OutputStreamWriter

方式二: OutputStreamWriter

00022.12 [第三种]转换流:OutputStreamWriter_写入文件_06


注意:这里的编码解码都是纯文本文件

代码

package com.atguigu.test08;

import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;

import org.junit.Test;

/*
* 编码:字符--》字节
* 把字符流转为字节流的转换流
* OutputStreamWriter:
* 把字符流转为字节流,并且可以指定编码
*/
public class TestOutputStreamWriter {
@Test
public void test03()throws IOException{
//当前平台是UTF-8,文件是GBK
//String:编码的方法 getBytes()
//编码:字符--》字节
String str = "柴老师永远18岁!永远美丽";
FileOutputStream fos = new FileOutputStream("d:/io.txt");
OutputStreamWriter oos = new OutputStreamWriter(fos, "GBK");

oos.write(str);//数据: str(字符)-->oos(字符)按照GBK编码为字节流-->fos --> io.txt

oos.close();
fos.close();
}


@Test
public void test02()throws IOException{
//当前平台是UTF-8,文件是GBK
//String:编码的方法 getBytes()
//编码:字符--》字节
String str = "柴老师永远18岁!";
FileOutputStream fos = new FileOutputStream("d:/io.txt");
fos.write(str.getBytes("GBK"));
fos.close();
}


@Test
public void test01()throws IOException{
//当前平台是UTF-8,文件是GBK
String str = "柴老师永远18岁!";

FileWriter fw = new FileWriter("d:/io.txt");
fw.write(str);
fw.close();
}
}


举报

相关推荐

0 条评论