I/O流之--转换流:InputStreamReader 和InputStreamWriter 分类: java2014-07-01 15:30 815人阅读 评论(0) 收藏 举报   目录(?)[+]     一.InputStreamReader类 InputStreamReader 将字节流转换为字符流.是字节流通向字符流的桥梁.如果不指定字符集编码,该解码过程将使用平台默认的字符编码,如:GBK. 构造方法: InputStreamReader isr = new InputStrea…
一.转换流 1.在IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换流 2.转换流用于在字节流和字符流之间转换 3.转换流本身是字符流 二.两种转换流 OutputStreamWriter 1)OutputStreamWriter是Writer的子类,将输出的字符流变为字节流,即:将一个字符流的输出对象变为字节流的输出对象. 2)OutputStreamWriter需要和OutputStream"套接",它可以将要写入字节流的字符编码成字节…
[缓冲流.转换流.序列/反序列化流.打印流] 一.缓冲流 1.字节缓冲输出流 java.io.BufferedOutputStream extends OutputStream 高效字节输出流 写入文件 目标文件 底层定义个了一个长度为8192的数组,提高效率 常用方法: write(int b): 写单个字节 write(byte[] bs): 写一个字节数组 write(byte[] bs,0,len): 写一个字节数组 BufferedOutputStream 的构造方法: Buffere…
一.理论: 1.字符流和字节流区别是什么? 字符流=字节流+编码集,在实际读取的时候其实字符流还是按照字节来读取,但是会更具编码集进行查找编码集字典解析相应的字节,使得一次读取出一个字符: 2.什么是转换流? 转换流就是原本是字节流,但是读取到的数据是字符,所以我们希望使用字符流来进行操作,那么就可以使用转换流进行转换: 转换流=字节流+编码集. 转换流的特点是可以指定编码集. 3.转换流的作用: (1).从控制台读取数据输入(键盘输入),将它们写入到文件(我们写的是字符吧): (2).当对文件…
十.流 10.1 缓冲流 10.1.1 概述                 缓冲流是对4个基本的FileXxx流的增强,所以也是4个流,按照数据类型进行分类                         字节缓冲流:BufferedInputStream,BufferedOutputStream                         字符缓冲流:BufferedReader,BufferedWriter                      缓冲流的基本原理,是在创建流对象时,…
转换流 OutputStreamWriter类 查阅OutputStreamWriter的API介绍,OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节.它的作用的就是,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去. public static void writeCN() throws Exception { //创建与文件关联的字节输出流对象 FileOutputStream fos = new FileOu…
javaSE学习笔记(15) ---缓冲流.转换流.序列化流 缓冲流 昨天复习了基本的一些流,作为IO流的入门,今天我们要见识一些更强大的流.比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流等等.这些功能更为强大的流,都是在基本的流对象基础之上创建而来的,相当于是对基本流对象的一种增强. 概述 缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流:BufferedInputStream,BufferedOutput…
day10[缓冲流.转换流.序列化流] 主要内容 缓冲流 转换流 序列化流 打印流 教学目标 能够使用字节缓冲流读取数据到程序 能够使用字节缓冲流写出数据到文件 能够明确字符缓冲流的作用和基本用法 能够使用缓冲流的特殊功能 能够阐述编码表的意义 能够使用转换流读取指定编码的文本文件 能够使用转换流写入指定编码的文本文件 能够说出打印流的特点 能够使用序列化流写出对象到文件 能够使用反序列化流读取文件到程序中 02_缓冲流的原理.05_缓冲流的效率测试_复制文件 第一章 缓冲流 昨天学习了基本的一…
转换流 在学习字符流(FileReader.FileWriter)的时候,其中说如果需要指定编码和缓冲区大小时,可以在字节流的基础上,构造一个InputStreamReader或者OutputStreamWriter,这又是什么意思呢? OutputStreamWriter类 查阅OutputStreamWriter的API介绍,OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节.它的作用的就是,将字符串按照指定的编码表转成字节,…
day10[缓冲流.转换流.序列化流] 主要内容 缓冲流 转换流 序列化流 打印流 教学目标 [ ] 能够使用字节缓冲流读取数据到程序 [ ] 能够使用字节缓冲流写出数据到文件 [ ] 能够明确字符缓冲流的作用和基本用法 [ ] 能够使用缓冲流的特殊功能 [ ] 能够阐述编码表的意义 [ ] 能够使用转换流读取指定编码的文本文件 [ ] 能够使用转换流写入指定编码的文本文件 [ ] 能够说出打印流的特点 [ ] 能够使用序列化流写出对象到文件 [ ] 能够使用反序列化流读取文件到程序中 第一章…
InputStreamReader:字节到字符的桥梁. OutputStreamWriter:字符到字节的桥梁. 它们有转换作用,而本身又是字符流.所以在构造的时候,需要传入字节流对象进来. 构造函数: InputStreamReader(InputStream) 通过该构造函数初始化,使用的是本系统默认的编码表GBK. InputStreamReader(InputStream,String charSet) 通过该构造函数初始化,可以指定编码表. OutputStreamWriter(Out…
例子程序: package io; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; p…
IO流的基本流情况: 字符流:                字符流缓冲区: FileReader              BufferedReader FileWriter               BufferedWriter   字节流:                字节流缓冲区: FileInputStream       BufferedInputStream FileOutputStream     BufferedOutputStream   在ReadInDemo.java…
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…
字符流:只能操作文本文件,与字节流的区别是,字节流是按照字节来读取文件,而字符流是按照字符来读取,因此字符流的局限性为文本文件 字符输出流:Write类,使用时通过子类   每一次写入都要刷新 package com.zs; import java.io.FileWriter; import java.io.IOException; public class Demo3 { public static void main(String[] args) throws IOException { F…
转换流主要有两个 InputStreamReader 和 OutputStreamWriter 1. InputStreamReader 主要是将字节流输入流转换成字符输入流 2. OutputStreamWriter 主要是将字节流输出流转换成字符输出流 打印流主要包含两个:PrintStream 和 PrintWriter,分别对应字节流和字符流 完成屏幕打印的重定向 System.out 对应的就是 PrintStream , 默认在输出在控制台,我们可以重定向他的输出,可以定向到文件 也…
一.字节流读取中文时出现的问题: 文件中有中文时,用字节流读取会出现乱码的问题,因为一个中文为两个字节. 二.字符编码表 编码表:其实就是生活中字符和计算机二进制的对应关系表. 1.ascii: 一个字节中的7位就可以表示.对应的字节都是正数.0-xxxxxxx 2.iso-8859-1:拉丁码表 latin,用了一个字节用的8位.1-xxxxxxx  负数. 3.GB2312:简体中文码表.包含6000-7000中文和符号.用两个字节表示.两个字节第一个字节是负数,第二个字节可能是正数 GBK…
1.     缓冲流 又称为高效流.高效流高效的原理:使用缓冲区(数组)临时存储多个数据,减少底层资源的调用次数.从而提高读写速度. 1.1 缓冲流分类 字节缓冲流: BufferedOutputStream BufferedInputStream 字符缓冲流: BufferedWriter BufferedReade r 1.2字节缓冲输出流 BufferedOutputstram 1.2.1 构造方法 public BufferedOutputStream(OutputStream out)…
首先需要明确的一点是输入流输出流的输入输出是站在内存的角度看的,读取文件,把文件内容写到内存中,是输入流:写文件,把内存中的数据写到文件中,是输出流. IO操作主要有4个抽象类: 字节输入输出流:InputStream.OutputStream,操作的是字节byte. 字符输入输出流:Reader.Writer,操作的是字符char. 最常用的子类有FileInputStream .FileOutputStream.InputStreamReader.OutputStreamWriter.Fil…
一. 缓冲流 ​ 缓冲流是处理流的一种,也叫高效流,是对4个基本输入输出流的增强,它让输入输出流具有1个缓冲区,能显著减小与外部的IO次数,从而提高读写的效率,并且提供了一些额外的读写方法. ​ 因为是对4个基本输入输出流的增强,因此缓冲流也有4个,分为字节缓冲流和字符缓冲流. 字节缓冲流:BufferedInputStream 和 BufferedOutputStream 字符缓冲流:BufferedReader 和 BufferedWriter 1.字节缓冲流 构造方法: BufferedO…
字节缓冲流:(BufferedInputStream,BufferedOutStream) *按照流的功能来分:节点流和处理流 *节点流可以直接操作数据源: *InputStream *--FileInputStream *OutputStream *--FileOutputStream *Reader *--FileReader *Writer *--FileWriter *处理流:不能直接操作数据源,要结合节点流进行使用,主要作用是用于简化操作和提高效率. *--缓冲流 *字节缓冲流:Buf…
FileReader源码的构造方法.底层使用FileInputStram读取 编码不一样占用的字节大小也不一样.GBK一个汉字占用 2个字节. utf-8一个汉字占用三个字节 转换流InputStreamReader 写的OutputStreamWrite…
结点流:直接对File类进行操作的文件流 package stream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import org.junit.jupiter.api.Test; /* * 流的体系结构: 抽象基类 节点流(或文件流) 缓冲流(处理流的一…
InputStreamReader 将字节输入流转换为字符输入流 OutputStreamWriter 将字符输出流转换为字节输出流 @Test public void test2() { //转换流 InputStreamReader isr = null; OutputStreamWriter osw = null; try { //节点流 FileInputStream fis = new FileInputStream("水浒传.txt"); FileOutputStream…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件(.mp3  .mp4 .txt)或者一个目录 File没向文件写入数据的功能.只创建,删除,文件大小等方法. File可以理解成流的终端. 我们经常将File的对象作为实参传入到流的构造器中 File 能新建.删除.重命名文件和目录,但 File 不能访问文件内容本身.如果需要访问文件内容本身,则…
属性集[Properties] java.util.Properties类继承于Hashtable,用来表示一个持久的属性集.它使用键值结构存储数据,每个键及其对应的值都是一个字符串. 构造方法 ​ public Properties():创建一个空的属性集列表. 共性的api方法 public Object setProperty(String key,String value):保存一对属性. public String getProperty(String key):使用此属性列表中的指定…
1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和目录,File能新建.删除.重命名文件和目录,不能访问文件本身,后者需要使用输入输入流. 2.1 构造方法 File类的构造方法: File(File parent, String child) 参数:父路径,子路径 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实…
一.缓冲流 1.介绍 缓冲流:不能直接作用在文件上,需要包一层,它是一种处理流.用于提高文件的读写效率.它在流的基础上对流的功能进行了增强.提高读写速度的原因:内部提供了一个缓冲区.缺省使用 8192 个字节(8Kb)的缓冲区 . 源码示例:BufferedInputStream 1 public class BufferedInputStream extends FilterInputStream { 2 // 默认缓冲区的大小 3 private static int DEFAULT_BUF…
流的转换, 按照条件过滤/映射/摊平/截取/丢弃/连接/去重/排序. 辅助方法 public static int myCompare(String x, String y) { if(x.length()>y.length()){ return 1; }else if(x.length()==y.length()){ return x.compareTo(y); }else{ return -1; } } private static Stream<Integer> letters(S…
InputStreamReader 将字节输入流转换为字符输入流 @Test public void test1(){ InputStreamReader isr = null; try { //字节输入流 FileInputStream fis = new FileInputStream("水浒传.txt"); //将字节输入流转换为字符输入流 isr = new InputStreamReader(fis); char[] cbuf = new char[10]; int len;…