12.4  转换流--OutputStreamWriter类与InputStreamReader类 整个IO包实际上分为字节流和字符流,可是除了这两个流之外,还存在一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流输出对象. InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即将一个字节流的输入对象变为字符流的输入对象. 假设以文件操作为例,则内存中的字符数据须要…
我们如何设置字节输入流.字节输出流的编码和解码格式? 在字节输入流(InputStream).字节输出流(OutputStream)中,并没有提供设置编码和解码格式的方法. InputStream的API文档如下: 因为字节输入输出流并没有提供相应的方法,让我们对编码和解码格式进行设置. 那么我们就要使用转换流,来对字节流的编码进行设置. 何为转换流? 通过API可得知,转换流就是字节流通向字符流的桥梁.它使用指定的 charset 读取字节并将其解码为字符.它使用的字符集可以由名称指定或显式给…
字节流和字符流的转换类 OutputStreamWriter:是Writer的子类,将输出的字符流变成字节流 InputStreamReader:是Reader的子类,将输入的字节流变成字符流 将字节输出流变成字符输出流 //================================================= // File Name : OutputStreamWriter_demo //----------------------------------------------…
InputStreamReader:字节到字符的桥梁. OutputStreamWriter:字符到字节的桥梁. 它们有转换作用,而本身又是字符流.所以在构造的时候,需要传入字节流对象进来. 构造函数: InputStreamReader(InputStream) 通过该构造函数初始化,使用的是本系统默认的编码表GBK. InputStreamReader(InputStream,String charSet) 通过该构造函数初始化,可以指定编码表. OutputStreamWriter(Out…
字符流: FileReader FileWriter BufferedReader BufferedWriter 字节流: FileInputStream FileOutputStream BufferedInputStream BufferedOutputSteam 读取键盘录入 System.out:对应的是标准输出设备,控制台 System.in:对应的是输入设备 通过键盘录入数据,当录入一行数据后,就将行数据进行打印.如果录入的数据是over,那么停止录入. 通过刚才的键盘录入一行数据并…
day10[缓冲流.转换流.序列化流] 主要内容 缓冲流 转换流 序列化流 打印流 教学目标 能够使用字节缓冲流读取数据到程序 能够使用字节缓冲流写出数据到文件 能够明确字符缓冲流的作用和基本用法 能够使用缓冲流的特殊功能 能够阐述编码表的意义 能够使用转换流读取指定编码的文本文件 能够使用转换流写入指定编码的文本文件 能够说出打印流的特点 能够使用序列化流写出对象到文件 能够使用反序列化流读取文件到程序中 02_缓冲流的原理.05_缓冲流的效率测试_复制文件 第一章 缓冲流 昨天学习了基本的一…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件(.mp3  .mp4 .txt)或者一个目录 File没向文件写入数据的功能.只创建,删除,文件大小等方法. File可以理解成流的终端. 我们经常将File的对象作为实参传入到流的构造器中 File 能新建.删除.重命名文件和目录,但 File 不能访问文件内容本身.如果需要访问文件内容本身,则…
第九章.转换流 字节编码和字符集 编码:按照某种规则将字符以二进制存储到计算机中. 解码:将存储在计算机中的二进制数按照某种规则解析显示出来. 字符编码:Character Encoding ,就是一套自然语言与二进制数之间的对应规则. 字符集:Charset,也叫编码表.是一个系统支持的所有字符的集合,包括各国文字.标点符号.图形符号.数字等. 常见字符集:常见字符集有ASCII字符表.GBK字符集.Unicode字符集等.一套字符集必然至少有一套字符编码: 以下为直接复制的内容. ASCII…
1. 需求:把当前项目目录下的a.txt内容复制到当前项目目录下的b.txt中. 数据源:  a.txt -- 读取数据 -- 字符转换流 -- InputStreamReader 目的地:  b.txt -- 写出数据 -- 字符转换流 -- OutputStreamWriter InputStreamReader/OutputStreamWriter不仅是转换流(将字节流转换为字符流),也是字符流Reader/Writer的具体实现子类. 2.代码示例: package cn.itcast_…
转换流的原理 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 Write…
Java IO 转换流 字节转字符流 @author ixenos 字节流 输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| FileInputStream 读取文件的输入字节流.------------| BufferedInputStream 缓冲输入字节流. 该类内部其实就是维护了一个8kb(8192b)字节数组而已. 该类出现的目的是为了提高读取文件数据的效率. 输出字节流:---------| OutputStream…
编码 什么是编码? 计算机中存储的都是二进制,但是要显示的时候,就是我们看到的却可以有中国 ,a  1 等字符 计算机中是没有存储字符的,但是我们却看到了.计算机在存储这些信息的时候,根据一个有规 则的编号,当用户输入a 有a对映的编号,就将这个编号存进计算机中这就是编码. 计算机只能识别二进制数据. 为了方便应用计算机,让它可以识别各个国家的文字.就将各个国家的文字用数字来表示, 并一一对应,形成一张表,这就是编码表. 例如: 汉字 中 有一种编码: 中字在utf 8中对映的编码       …
在<Java网络编程>中,有这样一段话: ”Reader和Writer最重要的子类是InputStreamReader和OutputStreamWriter类. InputStreamReader类包含了一个底层输入流,可以从中读取原始字节.它根据指定的编码方式,将这些字节转换为Unicode字符. OutputStreamWriter从运行的程序中接收Unicode字符,然后使用指定的编码方式将这些字符转换为字节,再将这些字节写入底层输出流中.“ 转换流的特点: 1. 其是字符流和字节流之间…
IO流 用来处理设备之间的数据传输,java对数据的操作是通过流的方式,java用于操作流的对象都在IO包中 按操作数据分为:字节流和字符流:按流向分为:输入流和输出流. 程序从输入流中读取数据,向输出流中写入数据. 字节流的抽象基类:Inputstream  和 OutputStream:字符流的抽象基类:Reader 和 Writer 其他流均是继承这4个抽象类而来的. 转换流 转换流也是一种包装流,其中OutputStreamWriter是Writer的子类,可以将一个字节流输出流包装成字…
转换流 OutputStreamWriter类 查阅OutputStreamWriter的API介绍,OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节.它的作用的就是,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去. public static void writeCN() throws Exception { //创建与文件关联的字节输出流对象 FileOutputStream fos = new FileOu…
个人理解: 在理解的字符流和字节流的区别后.要是想读取指定的编码格式的文件时,特别是不是默认的格式时,就需要转换流了,需要注意的是字符流是需要清除缓冲区的:当需要快速的进行读取时,则需要缓冲流.存在即是合理的,每个流都是有其优劣的,要特别注意好! 一.转换流: 1.OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节.它的作用的就是,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去. public class Demo…
打开一个文本文件,另存为: Ansi就是系统默认编码(就是gbk) 建一个编码是utf-8的txt文件, 例: import java.io.FileWriter; import java.io.IOException; public class Demo01 { public static void main(String[] args) throws IOException { //确定目的地 FileWriter fw=new FileWriter("E:\\zyx\\java\\utf-…
字节流输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| FileInputStream 读取文件的输入字节流.------------| BufferedInputStream 缓冲输入字节流. 该类内部其实就是维护了一个8kb(8192b)字节数组而已. 该类出现的目的是为了提高读取文件数据的效率. 输出字节流:---------| OutputStream 所有输出字节流的基类. 抽象类.------------| File…
转换流 1.涉及到的类 InputStreamReader:将InputStream转换为Reader OutputStreamWriter:将Writer转换为OutputStream 2.构造器 public OutputStreamWriter(OutputStream out) public OutputSreamWriter(OutputStream out,String charsetName) 3.作用 提供字节流和字符流之间的转换 4.编码表: 常见的编码表: ASCII:美国标…
转换流也是一种处理流,它提供了字节流和字符流之间的转换.在Java IO流中提供了两个转换流:InputStreamReader 和 OutputStreamWriter,这两个类都属于字符流.其中InputStreamReader将字节输入流转为字符输入流,继承自Reader.OutputStreamWriter是将字符输出流转为字节输出流,继承自Writer. 众所周知,计算机中存储的数据都是二进制的数字,我们在电脑屏幕上看到的文字信息是将二进制转换之后显示的,两者之间存在编码与解码的过程,…
1. 转换流的简化写法: 由于我们常见的操作都是使用本地默认编码,所以,不用指定编码.而转换流的名称有点长,所以,Java就提供了其子类供我们使用:FileReader / FileWriterOutputStreamWriter = FileOutputStream + 编码表(GBK)FileWriter = FileOutputStream + 编码表(GBK) InputStreamReader = FileInputStream + 编码表(GBK)FileReader = FileI…
一.转换流 1.在IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换流 2.转换流用于在字节流和字符流之间转换 3.转换流本身是字符流 二.两种转换流 OutputStreamWriter 1)OutputStreamWriter是Writer的子类,将输出的字符流变为字节流,即:将一个字符流的输出对象变为字节流的输出对象. 2)OutputStreamWriter需要和OutputStream"套接",它可以将要写入字节流的字符编码成字节…
一.FileReader类1,构造方法:FileReader fr = new FileReader(String fileName);//使用带有指定文件的String参数的构造方法.创建该输入流对象.并关联源文件.2,主要方法:int read(); // 读取单个字符,返回一个int型变量代表读取到的字符,如果已达到流末尾,则返回 -1.int read(char []cbuf);//将字符读入数组.返回读取的字符数.如果已经到达尾部,则返回-1.void close();//关闭此流对象…
一. 缓冲流 ​ 缓冲流是处理流的一种,也叫高效流,是对4个基本输入输出流的增强,它让输入输出流具有1个缓冲区,能显著减小与外部的IO次数,从而提高读写的效率,并且提供了一些额外的读写方法. ​ 因为是对4个基本输入输出流的增强,因此缓冲流也有4个,分为字节缓冲流和字符缓冲流. 字节缓冲流:BufferedInputStream 和 BufferedOutputStream 字符缓冲流:BufferedReader 和 BufferedWriter 1.字节缓冲流 构造方法: BufferedO…
InputStreamReader 字符转换流 * import java.io.InputStreamReader; 将字节输入流转换为字符输入流 * import java.io.OutputStreamWriter; 将字节输出流转换为字符输出流 * 代码: import com.shige.OOP.Inherit.B; import com.shige.foundation.While.WhileDemo_01; import java.io.*; import java.util.co…
因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File类之前,我们先认识和了解一下流的概念:流的概念可能比较抽象,可以想象一下水流的样子. 1.流 IO在本质上是单个字节的移动,而流可以说是字节移动的载体和方式,它不停的向目标处移动数据,我们要做的就是根据流的方向从流中读取数据或者向流中写入数据. 想象下倒水的场景:倒一杯水,水是连成一片往地上流动,而…
1.File类 File类可以在程序中 操作文件和目录.File类是通过建立File类对象,在调用File类的对象来进行相关操作的. 示例: public class Demo01 { public static void main(String[] args) { File f = new File("f:/我的歌声里.txt"); //访问文件名相关 String name = f.getName(); System.out.println("文件名:" + n…
类的继承关系 Reader |__ BufferedReader.StringReader.InputStreamReader |__ FileReader Writer |__ BufferedWriter.StringWriter.OutputStreamWriter |__ FileWriter InputStreamReader 简介 InputStreamReader  是字符流 Reader 的子类,是字节流通向字符流的桥梁.你可以在构造器重指定编码的方式,如果不指定的话将采用底层操…
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-child(2n){background-co…
一.概念 ------->1.BufferedReader/BufferedWriter [参考19.03.31文章] *Reader/Writer-------->2.InputStreamReader/ OutputStreamWriter(转换流,实现字节转字符)--->2-1:FileReader和FileWriter(文件字符类[19.03.31文章]) [代码示例] /**字符流相关 * 2.InputStreamReader/ OutputStreamWriter(转换流,…