大家好,又见面了,我是你们的朋友全栈君。
写的转换流,写我们相要写的编码文件 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_()方法:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194696.html原文链接:https://javaforall.cn