java13 InputStream,Reader】的更多相关文章

流的方向: .输入流:数据源到程序(InputStream,Reader读进来). .输出流:程序到目的地(OutPutStream,Writer写出来). 处理数据单元: 字节流:按照字节读取数据(InputStream,OutPutStream). 字符流:按照字符读取数据(Reader,Writer) 功能不同: 节点流:可以直接从数据源或目的地读写数据. 处理流:不直接连接到数据源或者目的地,是处理流的流,通过对其他流的处理提高程序的性能. 处理流:增强功能,提供性能,处理流在节点流之上…
 模拟BufferedInputStream,编写一个类 package toto.IO; import java.io.IOException; import java.io.InputStream; class MyBufferedInputStream{ private InputStream in; private byte[] buf = new byte[1024*4]; private int pos = 0,count = 0; MyBufferedInputStream(I…
一,File创建文件 File file = new File("D:" + File.separator + "yi.txt"); 代码示例: package com.hbut.io; import java.io.File; import java.io.IOException; public class FileDemo { public static void main(String[] args) { File file = new File("…
一.InputStream和Reader的区别 InputStream和Reader都可以用来读数据(从文件中读取数据或从Socket中读取数据),最主要的区别如下: InputStream用来读取二进制数(字节流),而 Reader用来读取文本数据,即 Unicode字符.那么二进制数与文本数据有什么区别呢?从本质上来讲,所有读取的内容都是字节,要想把字节转换为文本,需要指定一个编码方法.而 Reader就可以把字节流进行编码从而转换为文本.当然,这个转换过程就涉及编码方式的问题,它默认采用系…
java.io下面有两个抽象类:InputStream和ReaderInputStream是表示字节输入流的所有类的超类Reader是用于读取字符流的抽象类InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别.即用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组.弄清了两个超类的根本区别,再来看他们底下子类的使用,这里只对最常用的几个说明 InputStream    | __FileInputStre…
Java流总结 一. 流的分类 • 按数据流动方向 – 输入流:只能从中读取字节数据,而不能向其写出数据 – 输出流:只能向其写入字节数据,而不能从中读取数据 • 按照流所处理的数据类型 – 字节流:用于处理字节数据. – 字符流:用于处理Unicode字符数据. • 按照流所处理的源 – 节点流:从/向一个特定的IO设备读/写数据的流.(低级流) – 处理流:对已存在的流进行连接和封装的流.(高级流) 二. 缓冲流 • 缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓 冲的功能,提高了…
InputStream,OutputStream  前者为字节输入流,后者为字节输出流.Reader   Writer  前者为字符输入流,后者为字符输出流. 四个均为抽象类.fileInputStream 是InputStream 的实现类  fileReader 是Reader 的实现类 字节流读取单位为一个字节,字符流读取单位为一个字符  所以读取汉字的时候,如果用字节流就会导致读出来乱码.这是最常用的地方  其他基本用法差不多.. BufferedInputStream是套在某个其他的I…
流的概念 程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件. 字节流与字符流 内容操作就四个类:OutputStream.InputStream.Writer.Reader 字节流 字节输出流OutputStream Clonseable表示可以关闭的操作,因为程序运行到最后肯定要关闭. Fluashable表示刷新,清空内存中的数据. import java.io.File ; import java.io.OutputStream ; import java.io.Fil…
需要获取网络的一张图片,但是某种需要,要把获取的这段流输入换为BufferedImage流,有的地方还需要转换为byte[]. 获得图片地址,获得了一个图片输入流,例如:    Url img = new  URL(url);   InputStream in = img.openStream(); 接着把输入流转为BufferedImage:    JPEGImageDecoder decoderFile = JPEGCodec.createJPEGDecoder(in);   Buffere…
1.String –> InputStream InputStrem is = new ByteArrayInputStream(str.getBytes());orByteArrayInputStream stream= new ByteArrayInputStream(str.getBytes()); 2.InputStream–>String inputStream input; StringBuffer out = new StringBuffer();     byte[] b =…
Writer /** *<li> Writer中定义的一个重要的方法: * public void writer(String str)throws IOException; */ package com.java.demo; import java.io.File; import java.io.FileWriter; import java.io.Writer; public class TestDemo { public static void main(String args[]) t…
bytes中常用函数的使用: package main; import ( "bytes" "fmt" "unicode" ) //bytes包中实现了大量对[]byte操作的函数和两个最主要的Reader和Buffer两个结构 func main() { str := "aBcD"; //转为小写 fmt.Println(string(bytes.ToLower([]byte(str)))); //转为大写 fmt.Prin…
package java.io; // Representing an input stream of bytes. public abstract class InputStream implements Closeable // Abstract class for reading character streams. public abstract class Reader implements Readable, Closeable 桥 An InputStreamReader is a…
@SuppressWarnings("resource") public void download() throws Exception{ String filename = "qrcode.png"; String content = "content"; BufferedImage image = QRcodeUtils.encode(content, size); //BufferedImage 转 InputStream ByteArr…
Java IO之Reader与Writer对象常用操作(包含了编码问题的处理) 涉及到文件(非文件夹)内容的操作,如果是纯文本的情况下,除了要用到File(见之前文章),另外就必须用到字符输入流或字符输出流. 字符输入流:该流处理时,数据由外部流向程序(内存),一般指代“读取字符”,更清晰点地说:从外部读取字符数据到内存中. 字符输出流:该流处理时,数据由程序(内存)流向外部,一般指代“写入字符”,更清晰点地说:将字符数据从内存写入到外部. 在Java中,可使用:Reader 与 Writer …
一.引子(概括地介绍Java的IO) 无论是哪种编程语言,输入跟输出都是重要的一部分,Java也不例外,而且Java将输入/输出的功能和使用范畴做了很大的扩充.它采用了流的 机制来实现输入/输出,所谓流,就是数据的有序排列,而流可以是从某个源(称为流源或Source of Stream)出来,到某个目的地(称为流汇或Sink of Stream)去的.由流的方向,可以分成输入流和输出流,一个程序从输入流读取数据向输出流写数据. 如,一个程序可以用FileInputStream类从一个磁盘文件读取…
YAML Yaml是一种"是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言."类似于XML但比XML更简洁,语法详见 http://www.ruanyifeng.com/blog/2016/07/yaml.html 在JAVA中也有相关的类库可以进行解析YAML 准备工作 这里使用gradle加入依赖 compile 'org.yaml:snakeyaml:1.17' 之后就可以使用了 load 先上代码 @Test public void load()…
提要 16 读取转换流17 写入转换流18 流操作规律-119 流操作规律-220 改变标准输入输出设备21 异常的日志信息22 系统信息 16 读取转换流 字符流体系中的InputStreamReader,是字节流通向字符流的桥梁:它使用指定的charset读取字节并将其解码为字符. 它使用的字符集可以由名称指定或显示给定,否则将接受平台默认的字符集. /* 通过上一小节15-读取键盘录入中键盘录入一行数据并打印其大写,发现就是读一行数据的原理. 也就是readLine方法. 能不能直接使用r…
java IO体系图 IO流的操作规律总结: 1,明确体系: 数据源:InputStream ,Reader 数据汇:OutputStream,Writer 2,明确数据:因为数据分两种:字节,字符. 数据源:是否是纯文本数据呢? 是:Reader 字符输入流 否:InputStream  字节输入流 数据汇:是否是纯文本数据呢? 是:Writer  字符输出流 否:OutputStream  字节输出流. 到这里就可以明确具体要使用哪一个体系了,剩下的就是要明确使用这个体系中的哪个对象. 3.…
一.java.io 的描述 通过数据流.序列化和文件系统提供系统输入和输出.IO流用来处理设备之间的数据传输 二.流 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接.类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流.这时候你就可以想象数据好像在这其中“流”动一样.Java对数据的操作是通过流的方式实现的.Java用户操作流的对象都在IO包中. 三.Java流输入输出原理 Java把这些不同来源和目标的数据都统一抽象…
IO流: 输入流:输出流: 字节流:字符流:为了处理文字数据方便而出现的对象. 其实这些对象的内部使用的还是字节流(因为文字最终也是字节数据) 只不过,通过字节流读取了相对应的字节数,没有对这些字节直接操作. 而是去查了指定的(本机默认的)编码表,获取到了对应的文字. 简单说:字符流就是 : 字节流+编码表. ----------------------- 缓冲区:提高效率的,提高谁的效率?提高流的操作数据的效率. 所以创建缓冲区之前必须先有流. 缓冲区的基本思想:其实就是定义容器将数据进行临时…
本文特意将各种IO流的类总结到一起,作成图,方便记忆 1.流的写入和读取 2.字符输入流 3.字符输出流 4.字节输入流 5.字节输出流 6.概念杂记 * Buffered;带缓冲区的字符读取流,高效读取.在父类的基础上增加了读取一行数据的功能 * Buffered实例化的对象是Stream * Writer有flush()方法,必须使用才能写入,OutputStream也有flush(),不过不使用也能写入 * BufferedWriter有newLine()方法-换行 * BufferedR…
IO流常用基类 字节流的抽象基类:InputStream,OutputStream 字符流的抽象基类:Reader,Writer Writer类 子类:BufferedWriter,CharArrayWriter,FilterWriter,OutputStreamWriter,PipedWriter,PrintWriter,StringWriter FileWriter extends OutputStreamWriter FileWriter(String filenme,boolean ap…
18天-06-IO流 字节流和字符流 字节流两个基类:InputStream,FileInputStream,BufferedInputStream OutputStream,FileOutputStream,BufferedOutputStreamPrintStream (打印字节流,带编码格式) 字符流两个基类:Reader,FileReader,BufferedReader,InputStreamReader(字节流转换为字符流读取,带编码格式)Writer,FileWriter,Buff…
沉淀再出发:java的文件读写 一.前言 对于java的文件读写是我们必须使用的一项基本技能,因此了解其中的原理,字节流和字符流的本质有着重要的意义. 二.java中的I/O操作 2.1.文件读写的本质 概念框架: 方式: 字节流 Byte 和 字符流 Char 方向: 输入 Input 和 输出 Output : 读 Reader 和 写 Writer 源: 字符串 String, 数组 Array, 对象 Object, 文件 File, 通道 Channel, 管道 Pipe, 过滤器 F…
JAVA IO 设计模式彻底分析 2011-01-06 14:20:09|  分类: java|字号 订阅 http://blog.csdn.net/tianyue168/archive/2010/08/03/5786642.aspx 一.引子(概括地介绍Java的IO) 无论是哪种编程语言,输入跟输出都是重要的一部分,Java也不例外,而且Java将输入/输出的功能和使用范畴做了很大的扩充.它采用了流的 机制来实现输入/输出,所谓流,就是数据的有序排列,而流可以是从某个源(称为流源或Sourc…
What Decorator:动态地给一个对象加入一些额外的职责. 就添加功能来说.Decorator模式相比生成子类更加灵活. Why Decorator模式适用于能够动态的给对象增删职责.比方qq秀我们能够选择自己形象,并动态的加入衣服以及装饰,让自己的形象感觉高大上起来.Decorator适用于例如以下情况: 1.在不影响其它对象的情况下,以动态.透明的方式给单个对象加入职责. 2.处理那些能够撤销职责的场景. 3.当不能採用子类的方法进行扩充时. How 如果例如以下场景,近期又个app…
今天做软件构造实验一的时候,用到了java文件流的使用,因为之前学的不是很踏实,于是决定今天好好总结一下, 也方便以后的回顾. 首先,要分清IO流中的一些基础划分: 按照数据流的方向不同可以分为:输入流(InputStream,Reader)和输出流(OutputStream,Writer). 按照处理数据单位不同可以分为:字节流(InputStream,OutputStream)和字符流(Reader,Writer).                        (如果对于字节与字符的区别不…
JVM&NIO&HashMap简单问 背景:前几天在网上看到关于JVM&NIO&HashMap的一些连环炮的面试题,整理下以备不时之需. 一.JVM Java的虚拟机的面试内容主要包括GC.类加载机制和内存三大部分.如下是一个一个GC部分简单的连环炮: 问: 什么时候一个对象会被GC? 答: 当没有任何对象的引用指向该对象时 + 在下次垃圾回收周期来到时,对象才会被回收. 又问:为什么要在这种时候对象才会被GC? 答: 因为JVM会自动回收没有被引用的对象来释放空间,从而解…
1.流的分类 1.字节流:Stream 2.字符流: Writer,Reader 输入流 :InputStream ,Reader 输出流 :OuputStream,Writer 字节流重要还是字符流重要:字节流:字节流类为处理字节式输入/输出提供了丰富的环境. 不仅仅可以读二进制,也可以读文本. 字符流:只能读文本. 流的分类: 字节输入流:InputStream 字节输出流:OuputStream 字符输入流:Reader 字符输出流:Writer 2.InputStream流 1.publ…