IO流——InputStreamReader 和 OutputStreamWriter

article/2025/11/6 10:46:40

本次博客来学习IO流中的转换流——InputStreamReader 和 OutputStreamWriter。

InputStreamReader 和 OutputStreamWriter

  1. InputStreamReader:Reader的子类,可以将InputStream(字节流)包装成Reader(字符流)。
    请添加图片描述
  2. OutputStreamWriter:Writer的子类,实现将OutputStream(字节流)包装成Writer(字符流)。
    请添加图片描述
  3. 当处理纯文本数据时,如果使用字符流效率更高,并且可以有效解决中文乱码的问题,所以建议将字节流转换成字符流。
  4. 可以在使用时指定编码格式(比如 utf-8,gbk,gb2312,ISO8859-1等)。
  • 案例:将字节流FileInputStream 包装成 字符流InputStreamReader,对文件进行读取(按照 utf-8 格式),进而在包装成 BufferedReader。
public class InputStreamReader_ {public static void main(String[] args) throws IOException {String filePath = "d:\\111\\a.txt";//1. 把FileInputStream 转成 InputStreamReader//2. 指定编码 gbkInputStreamReader isr = new InputStreamReader(new FileInputStream(filePath),"utf-8");//3. 把 InputStreamReader 传入 BufferedReaderBufferedReader br = new BufferedReader(isr);String s = br.readLine();System.out.println("读取的内容="+ s);br.close();}
}
  • 案例:将字节流 FileOutputStream 包装成字符流OutputStreamWriter,对文件进行写入。
public class OutputStreamWriter_ {public static void main(String[] args) throws IOException {String filePath = "d:\\111\\kkk.txt";OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(filePath), "utf8");osw.write("hallo,计算机科学");osw.close();System.out.println("保存成功!");}
}
;System.out.println("保存成功!");}
}

http://chatgpt.dhexx.cn/article/ZeWwBtbV.shtml

相关文章

OutputStreamWriter类

1、概述 转换流 java.io.OutputStreamWriter,是Writer的子类,是从字符流到字节流的桥梁。 它使用指定的字符集将字符编码为字节。它的字符集可以由名称指定,也可以接受平台的默认字符集。 2、继承父类的共性成员方法 该类继承 Writer 类&…

转换流OutputStreamWriter

1、转换流–OutputStreamWriter简介 : OutputStreamWriter extends Writer, 转换流也是继承自超类Writer,因此可以使用Writer中的共性方法:write(int c),write(char[] ch),…,flash(),close(),… OutputStreamWriter常用的构造方法: 1&…

详解OutputStreamWriter与InputStreamReader

1.转换流原理 2. OutputStreamWriter java.io.OutputStreamWriter extends Writer OutputStreamWriter:是字符流通向字节流的桥梁;可使用指定的charset将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂) 2.1 继承自父…

Java IO体系之OutputStreamWriter

介绍 字符输出流Writer 的实现类 继承关系图 样例 public static void main(String[] args) throws IOException{//创建字节输出流,绑定数据文件(没有则创建)FileOutputStream fosnew FileOutputStream("D:\\HELLO.txt");// 创建…

streamwriter java_Java OutputStreamWriter 类

Java OutputStreamWriter 类 在本教程中,我们将借助示例学习Java OutputStreamWriter及其方法。 java.io包的OutputStreamWriter类可用于将字符形式的数据转换为字节形式的数据。 它继承了抽象类Writer。 OutputStreamWriter类可与其他输出流一起使用。 它也被称为字…

40OutputStreamWriter

写的转换流,写我们相要写的编码文件 java.io.OutputStreamWriter etends Writer InputStreamReader是字节流通向字符流的桥梁,它使用指定的Charset 将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂的) 继承…

Java IO 学习总结(五)OutputStreamWriter

Java IO 学习总结(一)输入流/输出流 Java IO 学习总结(二)File 类 Java IO 学习总结(三)BufferedInputStream Java IO 学习总结(四)BufferedReader 缓冲字符流 Java IO 学习总结&…

IO流(学习Java第24天)(转换流OutputStreamWriter、转换流InputStreamReader、字符流便捷类)

目录 一、转换流OutputStreamWriter 二.转换流InputStreamReader 三.字符流便捷类 一、转换流OutputStreamWriter java.io.OutputStreamwriter类,继承Writer类,他是字符输出流,只能操作文本文件,不能操作其他类型文件。Output…

Java IO流学习总结五:转换流-InputStreamReader、OutputStreamWriter

类的继承关系 Reader |__ BufferedReader、StringReader、InputStreamReader|__ FileReaderWriter |__ BufferedWriter、StringWriter、OutputStreamWriter|__ FileWriter InputStreamReader 简介 InputStreamReader 是字符流 Reader 的子类,是字节流通向字符流的桥梁。你…

mysql判断是否存在索引并删除_mysql判断索引存在时删除索引的方法_MySQL

bitsCN.com mysql判断索引存在时删除索引的方法 mysql的drop index语句不支持if exists条件,在sql中先删除索引, 再创建索引,如果对于新建的数据库,库中没有该索引,就会报错, 导致后面的sql不再执行。 因此…

Oracle索引详解(索引的原理,创建索引,删除索引,修改索引等)

Oracle索引详解 一.索引概述 Oracle作为关系型数据库,用户查找数据与行的物理位置无关,表中的每一行均用一个ROWID来标识,当Oracle数据库中存储海量的记录时,就意味着有大量的ROWID标识,那么Oracle如何能快速找到指定…

es批量删除索引

es批量删除索引 ES/DSL语句删除索引中的文档,以时间为过滤条件 执行时如图所示: 请求:sgl_zc_termina_exhaust_20200924/_delete_by_query post DSL风格的语句: { “query”: { “bool”: { “must”: [{ “range”: { “collectTime”: { “gt”: “1616342400000”, “lt”…

Phoenix删除索引

直接在DBeaver的工具中使用Phonix连接hbase,创建索引后,直接右键删除索引,会报错无法删除。 以下提示删除索引的操作: select * from SYSTEM."CATALOG" where TABLE_NAMET5_3D71E0783EE811E9B1C10050569D5D3A AND TABLE_SCHEM MP…

mysql删除索引_SQL基础12:Mysql删除索引

图片发自简书App 学习此文之前,一起先来回顾下Mysql创建索引 简介:在本篇教程中,你将学习如何使用MYSQL DROP INDEX语法删除表中已经存在的索引。 一、MYSQL删除索引的语法 要从表中删除现有索引,可使用DROP INDEX*语句&#xff0…

MySql 删除索引

#删除索引 -- (1)使用alter table 删除 -- 语法:alter table 表名 drop index|key 索引名 -- 列如:删除表book11中的索引 alter table book11 drop index sno -- (2)使用 drop index 删除 -- 语法:drop index 索引名称 on 表名 -- 列如:删除表book…

MySQL——索引的创建与删除

文章目录 MySQL——索引的创建与删除1、创建索引的三种方式1.1、建表时创建索引1.2、修改表时创建索引1.3、使用 CREATE INDEX 语句创建索引 2、删除索引 MySQL——索引的创建与删除 1、创建索引的三种方式 1.1、建表时创建索引 使用CREATE TABLE创建表时,除了可…

c++ 实现meanshift

自己手动实现了meanshift,算是把之前还有些模糊的地方给搞清楚了,本来应该半天就可以的,结果高斯核函数计算权重那里弄错了,多花了好一阵子功夫才搞定。 原理 对于所有样本点中的一个点x,计算它的shift vector&#…

Meanshift均值漂移聚类算法

一、meanshift 均值漂移就是把指定的样本点沿着密度上升的方向移向高密度区域。这里可以用矢量加法的几何意义来理解。参考博文Mean Shift 聚类算法 meanshift为 M r ( x ) 1 k ∑ x i ∈ S r ( x ) ( x i − x ) M_r(x)\frac{1}{k}\sum\limits_{x_i\in S_r(x)}(x_i-x) Mr​…

MeanShift 目标跟踪

MeanShift算法,又称为均值漂移算法,采用基于颜色特征的核密度估计,寻找局部最优,使得跟踪过程中对目标旋转,小范围遮挡不敏感。 文章目录 MeanShift 原理MeanShift 跟踪步骤meanShift 函数原型反向投影MeanShift 跟踪…

MeanShift跟踪MATLAB实现

一、简介 核跟踪方法是目标跟踪的主要方法, 应用非常广泛。例如Meashift、Camshift 算法, 它直接运用最速下降法的原理, 向梯度下降方向对目标模板逐步迭代, 直到迭代到最优位置。它的核心就是一步一步迭代寻找最优点, 在跟踪中, 就是为了寻找相似度值最大的候选区间。 本文主…