转换流的原理和OutputStreamWriter介绍&代码实现
转换流的原理

OutputStreamWriter介绍&代码实现
package com.yang.Test.ReverseStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
/**
* java.io.OutputStreamWriter extends Writer
* OutputStreamWriter:是字符流通向字节流的桥梁可使用指定的charset将要写入流中的字符编码成字节
* 继承自父类的共性成员方法:
* public void close();关闭此输出流并释放与此流相关联的任何系统资源。
* public void flush();刷新此输出流并强制任何缓冲的输出字节被写出。
* public void write(byte[] b);将b.length字节从指定的字节数组写入此输出流。
* public void write(byte[] b , int off , int len);从指定的字节数组写入 len字节 从偏移量off开始输出到此输出流.
* public abstract void write(int b);将指定的字节输出流
*
* OutputStreamWriter(OutputStream out)创建使用默认字符编码的OutputStreamWriter
* OutputStreamWriter(OutputStream out,String charsetName)创建使用指定字符集的OutputStreamWriter
* 参数:
* OutputStream out:字节输出流可以用来写转换之后的字节到文件
* String charsetName:指定的编码表名称,不区分大小写,可以使utf-8/UTF-8不指定默认是使用UTF-8
*
* 使用步骤:
* 1.创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称
* 2.使用OutputStreamWriter对象中的方法write吧字符转换为字节存储缓冲区
* 3.使用OutputStreamWriter对象中的方法flush吧内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)
* 4.释放资源
*/
public class OutputStreamWriterStudy {
public static void main(String[] args) throws IOException {
write_utf_8();
}
/**
* 使用转换流OutputStreamWriter写UTF-8格式的文件
*/
private static void write_utf_8() throws IOException {
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("D:\\f.txt"),"utf-8");
osw.write("你好");
osw.flush();
osw.close();
}
}
转换流的原理和OutputStreamWriter介绍&代码实现的更多相关文章
- OutputStreamWriter介绍&代码实现和InputStreamReader介绍&代码实现
java.io.OutputStreamWriter extends Writer OutputStreamWriter: 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编 ...
- 缓冲流的原理和BufferedOutputStream字节缓冲输出流
缓冲流的原理 BufferedOutputStream字节缓冲输出流 package com.yang.Test.BufferedStudy; import java.io.BufferedOutpu ...
- 树的深度优先遍历和广度优先遍历的原理和java实现代码
import java.util.ArrayDeque; public class BinaryTree { static class TreeNode{ int value; TreeNode le ...
- JAVA基础之转换流和缓冲流
个人理解: 在理解的字符流和字节流的区别后.要是想读取指定的编码格式的文件时,特别是不是默认的格式时,就需要转换流了,需要注意的是字符流是需要清除缓冲区的:当需要快速的进行读取时,则需要缓冲流.存在即 ...
- java:IO流(处理流(缓冲流,转换流,数据流),对象的序列化,Properties)
字节缓冲流:(BufferedInputStream,BufferedOutStream) *按照流的功能来分:节点流和处理流 *节点流可以直接操作数据源: *InputStream *--FileI ...
- Java IO流详解(六)——转换流
转换流也是一种处理流,它提供了字节流和字符流之间的转换.在Java IO流中提供了两个转换流:InputStreamReader 和 OutputStreamWriter,这两个类都属于字符流.其中I ...
- JAVASE(十六) IO流 :File类、节点流、缓冲流、转换流、编码集、对象流
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件 ...
- Java IO学习笔记(三)转换流、数据流、字节数组流
转换流 1.转换流:将字节流转换成字符流,转换之后就可以一个字符一个字符的往程序写内容了,并且可以调用字符节点流的write(String s)方法,还可以在外面套用BufferedReader()和 ...
- IO流13 --- 转换流实现文件复制 --- 技术搬运工(尚硅谷)
InputStreamReader 将字节输入流转换为字符输入流 OutputStreamWriter 将字符输出流转换为字节输出流 @Test public void test2() { //转换流 ...
随机推荐
- Node.js躬行记(20)——KOA源码分析(下)
在上一篇中,主要分析了package.json和application.js文件,本文会分析剩下的几个文件. 一.context.js 在context.js中,会处理错误,cookie,JSON格式 ...
- Spring Boot 配置 HikariCP
HikariCP 是一个可靠的.高性能的 JDBC 连接池 本来用的 alibaba/druid,但实际并没有怎么用其内置的监控网页,然后多方调查,决定弃用 druid,替换为 HikariCP Sp ...
- spring boot 在控制台打印banner
转自 SpringBoot系列--花里胡哨的banner.txt - huanzi-qch - 博客园 (cnblogs.com) <div id="cnblogs_post_body ...
- MVC - forward 和 redirect 的区别
MVC - forward 和 redirect 的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服 ...
- 渗透开源工具之sqlmap安装配置环境变量教程
由于计算机安全牵涉到很多方面,建议自己在服务器上搭建自己的靶场,如何搭建靶场请订阅并查看作者上期教程,这里作者先为大家推荐一个免费开源升级靶场:https://hack.zkaq.cn/ 在封神台 ...
- CabloyJS的微信API对接模块:当前支持微信公众号和微信小程序
Cabloy-微信是什么 Cabloy-微信是基于CabloyJS全栈业务开发框架开发的微信接口模块,当前整合了微信公众号和微信小程序的接口,达到开箱即用的使用效果.在Cabloy-微信的基础上,可以 ...
- C# 将XML转为PDF
XML,即可扩展标记语言文,件是一种标准的文本文件,它使用特定的标记来描述文档的结构以及其他特性.通过将 XML 文档转换为 PDF格式,能够满足更多程序.设备对文件预览.读取或展示的需要,也更便于文 ...
- 【Redis】事件驱动框架源码分析(多线程)
IO线程初始化 Redis在6.0版本中引入了多线程,提高IO请求处理效率. 在Redis Server启动函数main(server.c文件)中初始化服务之后,又调用了InitServerLast函 ...
- 15.LNMP架构的源码编译
LNMP架构的源码编译 目录 LNMP架构的源码编译 编译安装 Nginx 服务 1.关闭防火墙 2.安装相关依赖包 3.创建运行用户 4.解压软件包及配置编译安装 5.优化路径 6.将Nginx 加 ...
- WPF开发随笔收录-报警闪烁效果实现
一.前言 工作中目前经手的项目是医疗相关的监护软件,所以会涉及到一些报警效果的实现,今天在这里就简单分享一下实现方式 二.正文 1.实现的方式比较的简单,就是通过一个Border控件,然后搭配Data ...