package com.shujia.day17.ketang;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.util.Arrays;
/*
转换流(字符流) = 字节流 + 编码表
字符流:(当一个文件使用记事本打开能够看懂的时候,就可以用字符流)
字符输入流:
Reader
字符输出流:
Writer
- OutputStreamWriter(实现子类)
注意:字符流写数据都需要flush
OutputStreamWriter
构造方法:
OutputStreamWriter(OutputStream out) 创建一个使用默认字符编码的OutputStreamWriter。
OutputStreamWriter(OutputStream out, String charsetName) 创建一个使用命名字符集的OutputStreamWriter。
成员方法:
public void write(int c)
public void write(char[] cbuf)
public void write(char[] cbuf,int off,int len)
public void write(String str)
public void write(String str,int off,int len)
*/
public class OutputStreamWriterDemo1 {
public static void main(String[] args) throws Exception {
// String info = "今天下午不上课";
// //编码
//// byte[] bytes = info.getBytes();
// //public byte[] getBytes(String charsetName) 指定编码转字节数组
// byte[] bytes = info.getBytes("GBK");
// System.out.println(Arrays.toString(bytes));
//
// //解码
//// String s = new String(bytes);
// //public String(byte bytes[], String charsetName) 指定编码将字节数组转字符串
// String s = new String(bytes, "GBK");
// System.out.println(s);
//创建一个字符输出流对象,向文件中写数据
//OutputStreamWriter(OutputStream out) 创建一个使用默认字符编码的OutputStreamWriter。
// OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("src/com/shujia/day17/data/a2.txt"));
//OutputStreamWriter(OutputStream out, String charsetName) 创建一个使用命名字符集的OutputStreamWriter。
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("src/com/shujia/day17/data/a2.txt"), "UTF-8");
//public void write(int c) 一次写一个ASCII码字符
// osw.write(97);
// osw.flush();
//public void write(char[] cbuf) 一次写一个字符数组
// char[] chars = {'我', '爱', '中', '国'};
// osw.write(chars);
// osw.flush();
//public void write(char[] cbuf,int off,int len) 一次写字符数组的一部分
// osw.write(chars,2,2);
// osw.flush();
//public void write(String str) 一次写一个字符串
// osw.write("今天的天气挺好!");
// osw.flush();
//public void write(String str,int off,int len) 一次写字符串的一部分
osw.write("魏一民是世界上超级无敌究极酷且帅且有钱的男人!",7,12);
osw.write("\r\n");
osw.write("陈真很不服!");
osw.flush();
osw.close();
}
}