40OutputStreamWriter

40OutputStreamWriter写的转换流,写我们相要写的编码文件java.io.OutputStreamWriteretendsWriterInputStreamReader是字节流通向字符流的桥梁,它使用指定的Charset将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂的)继承父类,共性成员方法:voidwrite(intc)写入单个字符voidwrite(char[])写入字符数组abstractvoidwriter(char[]cbuf,intoff,intlen)…


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

写的转换流,写我们相要写的编码文件
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()方法:

40OutputStreamWriter

40OutputStreamWriter 

 

40OutputStreamWriter

write_utf_()方法:

40OutputStreamWriter

 

 40OutputStreamWriter

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194696.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 数字化转型中的大数据治理架构

    数字化转型中的大数据治理架构一、数字化时代大数据向服务化发展数字化时代,我们的数据来源比以前更广了。第一,之前传统企业政府的IT系统主要是面向内部使用,产生了一些信息,现在已经面向外部使用了;第二,更多行为信息、社交信息都会变成企业的数据;第三,我们有很多非结构化的数据,比如媒体、视频数据等;第四,还有物联网传感器方面的数据等。这些数据大部分是非结构化的,如媒体数据、视频数据,包括物联网传感器等信息,这些信息远比以前更加难以…

    2022年10月23日
  • iOS逆向之深入解析如何计算+load方法的耗时「建议收藏」

    iOS逆向之深入解析如何计算+load方法的耗时「建议收藏」一、类方法+load在pre-main时期,objc会向dyld注册一个init回调:void_objc_init(void){staticboolinitialized=false;if(initialized)return;initialized=true;//fixmedeferinitializationuntilanobjc-usingimageisfound?environ_

    2022年10月18日
  • Mac使用Boot Camp安装win10(不用U盘)

    Mac使用Boot Camp安装win10(不用U盘)原文在https://bbs.feng.com/forum.php?mod=viewthread&tid=10748184&page=1&mobile=no大概的步骤:1、从微软官网下载win10专业版本iso文件(文件有4.6G,官网白天下载很慢,晚上下载快点);2、使用MacOS自带的BootCamp(新兵训练营?)安装win10,BootCamp安装时会从官网服务器下载支

    2022年5月12日
  • method什么意思_method的值有哪些

    method什么意思_method的值有哪些这个报错只有IDEA会有问题,在eclipse并不会出现这个问题。有哪位前辈可以帮我指点迷津吗?publicclassServletDemo02extendsHttpServlet{privatestaticfinallongserialVersionUID=1L;publicvoiddoPost(HttpServletRequestrequest,HttpServl…

    2022年9月23日
  • C# List用法 List 实列介绍

    C# List用法 List 实列介绍 usingSystem;usingSystem.Collections.Generic;namespaceList{classProgram{staticvoidMain(stri

    2022年7月4日
  • 常用函数库——BOOL函数[通俗易懂]

    常用函数库——BOOL函数[通俗易懂]//判断一个数是否为质数Returnstrueifnisaprimenumber.boolIsPrime(intn){//Trivialcase1:smallnumbersif(n<=1)returnfalse;//Trivialcase2:evennumbersif(n%2=…

    2022年6月10日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号