写的转换流,写我们相要写的编码文件
java.io.OutputStreamWriter etends Writer
InputStreamReader是字节流通向字符流的桥梁,它使用指定的Charset 将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂的)
继承父类,共性成员方法:
void write(int c)写入单个字符
void write(char[]) 写入字符数组
abstract void writer(char[] cbuf,int off,int len) 写入字符数组的一部分,off字符数组开始索引,len写入字符个数
void write(String str) 写入字符串
void write(String str,int off,int len) 写入字符串的某一部分,off字符串开始索引,len写入字符个数
void flush()刷新该留的缓冲
void close() 关闭此流,但要先刷新它
构造方法:
OutputStreamWriter(OutputStream out)创建使用默认字符编码的 OutputStreamWriter
OutputStreamWriter(OutputStream out,String charsetName)创建使用指定的字符集的OutputStreamWriter
参数:
OutputStream out:字节输出流,可以用来写转换之后的字节到文件中
String charsetName:指定的编码表的名称,不区分大小写,可以是utf-8,gbk/GBK ,不指定默认UTF-8
使用步骤:
1.创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称
2.使用OutputStreamWriter对象中的方法writer,把字符转换为字节存储到缓冲区中(编码)
3.使用OutputStreamWriter对象中的flush方法,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)
4.释放资源
package demo43OutputStreamWriter;import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;/*
写的转换流,写我们相要写的编码文件
java.io.OutputStreamWriter etends Writer
InputStreamReader是字节流通向字符流的桥梁,它使用指定的Charset 将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂的)
继承父类,共性成员方法:void write(int c)写入单个字符void write(char[]) 写入字符数组abstract void writer(char[] cbuf,int off,int len) 写入字符数组的一部分,off字符数组开始索引,len写入字符个数void write(String str) 写入字符串void write(String str,int off,int len) 写入字符串的某一部分,off字符串开始索引,len写入字符个数void flush()刷新该留的缓冲void close() 关闭此流,但要先刷新它
构造方法:
OutputStreamWriter(OutputStream out)创建使用默认字符编码的 OutputStreamWriter
OutputStreamWriter(OutputStream out,String charsetName)创建使用指定的字符集的OutputStreamWriter
参数:OutputStream out:字节输出流,可以用来写转换之后的字节到文件中String charsetName:指定的编码表的名称,不区分大小写,可以是utf-8,gbk/GBK ,不指定默认UTF-8使用步骤:1.创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称2.使用OutputStreamWriter对象中的方法writer,把字符转换为字节存储到缓冲区中(编码)3.使用OutputStreamWriter对象中的flush方法,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)4.释放资源*/
public class DemaOutputStreamWriter {public static void main(String[] args) throws IOException {//write_utf_();write_gbk();}/*使用转换流OutputStreamWriter写UTF-8格式的文件*/private static void write_utf_() throws IOException {// 1.创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("E:\\多线程\\utf-8.txt"),"utf-8");// 2.使用OutputStreamWriter对象中的方法writer,把字符转换为字节存储到缓冲区中(编码)osw.write("你好");//3.使用OutputStreamWriter对象中的flush方法,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)osw.flush();//4.释放资源osw.close();}/*使用转换流OutputStreamWriter写GBK格式的文件*/private static void write_gbk() throws IOException{// 1.创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("E:\\多线程\\gbk.txt"),"GBK");// 2.使用OutputStreamWriter对象中的方法writer,把字符转换为字节存储到缓冲区中(编码)osw.write("你好");//3.使用OutputStreamWriter对象中的flush方法,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)osw.flush();//4.释放资源osw.close();}
}
write_gbk()方法:


write_utf_()方法:


















