IO流之字符流-1】的更多相关文章

字符是我们能读懂的一些文字和符号,但在计算机中存储的却是我们看不懂的byte 字节,那这就存在关于字符编码解码的问题.所以在学习Io流的字符流前我们先了解些关于编码问题. 一.字符集与字符编码 1.什么要有字符集 我们在计算机屏幕上看到的是实体化的文字,而在计算机存储介质中存放的实际是二进制的比特流.那 么在这两者之间的转换规则就需要一个统一的标准,否则就会出现乱码了现象:小伙伴QQ上传过来的文件,在我们本地打开又乱码了. 于是为了实现转换标准,各种字符集标准就出现了. 2.什么是字符集 简单的…
文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节.       IO框架 从上图我们可以看出IO可以分为两大块 字节流和字符流 字节流是 InputStream 和 OutputStream 分别对应输入与输出 字符流是Reader和Writer分别对应输入与输出        ByteArrayInputStream  它字节数组输入流.继承于InputS…
java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*; public class Index{ public static void main(String[] args) throws Exception{ //打开文件 //字符流方式打开 //字符流每次按一个字符读取 FileReader wj = new FileReader("D:/java/kj/javanew/src/Index.java"…
java中io流系统庞大,知识点众多,作为小白通过五天的视频书籍学习后,总结了io系列的随笔,以便将来复习查看. 本篇为此系列随笔的第一篇:io系列之字符流. IO流 :对数据的传输流向进行操作,java中将这种操作行为本身封装为对象,以供使用. Input and Output java将io流对象都在IO包中.(java.IO.*) 分类: 按照数据种类分: 字节流 和 字符流, 按照数据流向分: 输出流 和 输入流. 字节流抽象类: InputStream OutputStream 字符流…
Java的IO流分为字符流(Reader,Writer)和字节流(InputStream,OutputStream),字节流顾名思义字节流就是将文件的内容读取到字节数组,然后再输出到另一个文件中.而字符流操作的最小单位则是字符.可以先看一下IO流的概述: 下面首先是通过字符流对文件进行读取和写入: 1 package lib; 2 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.FileNotFou…
字符流InputStreamReader和OutputStreamWriter是Writer和Read的子类:是字节流通向字符流的桥梁,也就是可以把字节流转化为字符流. InputStreamReader 构造方法: InputStreamReader(Inputstream in) 创建一个使用默认字符集的 InputStreamReader. InputStreamReader(Inputstream in,Charset cs) 创建使用给定字符集的 InputStreamReader.…
字符流,读取的文件是字符的时候,有两个基类一个是Reader,一个是Writer这有点拟人的感觉,人直接看懂的是文字 字符流 字节流:读取的是文件中的二进制字节流并不会帮你转换成看的懂得字符 字符流:字符流会把读到的二进制的数据进行对应的编码解码工作. 字符流 = 字节流+编码(解码) 输入字符流Reader 输入字符流的基类 抽象类 |--FileReader 读取文件的输入字符流 FIleReader的用法: 1.找到目标文件 2.建立数据的输入通道 3.读取数据 4.关闭资源 FileWr…
JAVA之旅(二十四)--I/O流,字符流,FileWriter,IOException,文件续写,FileReader,小练习 JAVA之旅林林总总也是写了二十多篇了,我们今天终于是接触到了I/O了.如果你初学,不懂IO流,你可以从前往后慢慢看,但是你工作了一段时间你会发现,流的使用场景以及技术点是非常的强硬的,我们势必要掌握这个知识点,如果你觉得翻阅API比较鼓噪,看视频得不到精髓,看书看不到要点,你就跟随我的JAVA之旅,一起去探索吧! 一.I/O概述 I/O全名:Input Output…
一.概述. java对数据的操作是通过流的方式.java用于操作流的对象都在IO包中.流按照操作数据不同分为两种,字节流和字符流.流按照流向分为输入流,输出流. 输入输出的“入”和“出”是相当于内存来说的. 字符流:字节流读取文字字节数据后,不直接操作,而是先查指定的编码表,获取对应的文字,再对这个文字进行操作.简单来说就是字节流+码表. 在IO流中,字节流的顶层父类是Writer和Reader. 二.java.io.FileWriter类. public class FileWriterext…
字符流缓冲区: 1.缓冲区的出现提高了对数据的读写效率: 2.对应类:BufferedWriter.BufferedReader: 3.缓冲区要结合流才可以使用: 4.在流的基础上对流的功能进行了增强.   注意:缓冲区的出现是为了提高流的操作效率而出现的,所以在创建缓冲区之前必须现有流对象.   java.io  类 BufferedReader:读入缓冲区   构造方法摘要  BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的缓冲字符输入流.  Buffer…
java.io包中:字符流   字符流的两个抽象基类:   Reader         Writer   文件的读取:Reader抽象类(java.io包中) 直接子类的构造方法: FileReader(File file)              在给定从中读取数据的 File 的情况下创建一个新 FileReader.  FileReader(FileDescriptor fd)              在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileR…
一.IO流简述------用于操作数据的 IO流用来处理设备之间的数据传输; Java对数据的操作是通过流的方式; Java用于操作流的对象都是在IO包中; 流按操作数据分为: 字节流(通用)和字符流: 按流向分为: 输入流和输出流. 字节流的抽象基类: InputStream , OutputStream 字符流的抽象基类: Reader, Writer 注: 由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀. 如: InputStream的子类FileInputStream :Re…
字符流:读写字符的 顶级父类是Reader和Writer 操作流程 在Java中IO操作也是有相应步骤的,以文件操作为例,主要的操作流程如下: 使用File类打开一个文件 通过字节流或字符流的子类,指定输出的位置 进行读/写操作 关闭输入/输出 思维导图 相关练习代码. /** * Date : 2017/7/1 * Author : Hsj * Description :字符流知识总结 */ public class Demo2 { //可以读取字符 @Test public void fun…
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hljs-comment, .hljs-template_comment, .diff .hljs-header, .hljs-javadoc { color: #998; font-style: italic; } .hljs-keyword, .css .rule .hljs-keyword, .h…
在我们的Java语言当中,通常会有对文件进行读写,因此我们引入java的IO类来进行文件的读写. 一.字节流 下面是一个字节流的实例: import java.io.*; public class IO { public static void main(String[] args) { System.out.println("现在利用Java的一个类读取一个数据已经定义好的数据"); FileInputStream fis=null;//利用这个函数写进来的是字节型读入而非字符型 F…
一:IO流的分类(组织架构) 根据处理数据类型的不同分为:字节流和字符流 根据数据流向不同分为:输入流和输出流   这么庞大的体系里面,常用的就那么几个,我们把它们抽取出来,如下图:   二:字符字节,输入输出流的概念 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表. 字节流和字符流的区别: 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节. 处理对象不同:…
/* 本地文件 URL 文件拷贝 *//*文本文件拷贝 可以通过 字符流,也可以通过字节流*/ /*二进制文件拷贝 只可以通过字节流*//* 希望这个例子能帮助搞懂 字符流与字节流的区别 */ import java.io.*; //in order to utilize stream object import java.util.*; // in order to utilize ArrayList import java.net.*; class Copy{ public static v…
IO流和Properties IO流 IO流是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键, 因而所有 I/O 的主体实际上是内置在操作系统中的.单独的程序一般是让系统为它们完成大部分的工作. 在 Java 编程中,一直使用流的方式完成 I/O.所有 I/O 都被视为单个的字节的移动, 通过一个称为 Stream 的对象一次移动一个字节.流 I/O 用于与外部世界接触.它也在内部使用, 用于将对象转换为字节,然后再转换回对象.输入也叫做读取数据,输…
输入和输出 * A:输入和输出 * a: 参照物 * 到底是输入还是输出,都是以Java程序为参照 * b: Output * 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 * 程序到文件称为输出 * c: Input * 把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作 * 文件到程序称为输入 * d: IO操作 * 把上面的这种输入和输出动作称为IO操作 字节输出流OutputStream * A: 字节输出流OutputStream * a.概…
一.概念 ------->1.BufferedReader/BufferedWriter [参考19.03.31文章] *Reader/Writer-------->2.InputStreamReader/ OutputStreamWriter(转换流,实现字节转字符)--->2-1:FileReader和FileWriter(文件字符类[19.03.31文章]) [代码示例] /**字符流相关 * 2.InputStreamReader/ OutputStreamWriter(转换流,…
字符流产生的原因: 1.每次只能够读取一个字节或者一个字节数组,每次在需要转换成字符或者字符串的时候不是很方便2.不同的操作系统针对换行符的处理不方便3.有的时候会出现中文乱码(中文占两个字节,如果针对中文中某个字节做了转换或者显示,就会出现乱码)4.如果需要读取某一行数据,非常不方便 编码 * String/char[] --> byte[] * 解码 * byte[] --> String/char[] 我们可以对字符数组或者字符串进行编码,那么其实IO流底层是字符流或者字节流,所以我们一…
转换流 由于字节流操作中文不是特别方便,所以java中提供了转换流 编码表:由现实世界的字符和对应的数值组成的一张表 编码:把看得懂的变成看不懂的(String-------byte[]) 解码:把看不懂的变成看得懂的(byte[]-------String) String-----bytes[] import java.util.Arrays; import java.io.UnsupportedEncodingException; public class StringDemo{ publi…
简介 Java平台使用Unicode约定存储字符值.字符流I / O自动将此内部格式转换为本地字符集.在西方,本地字符集通常是ASCII的8位超集. 对于大多数应用,具有字符流的I / O并不比具有字节流的I / O复杂.使用流类完成输入和输出自动转换为本地字符集和从本地字符集转换.使用字符流代替字节流的程序自动适应本地字符集,并可以进行国际化 - 所有这些无需程序员额外的工作. 如果国际化不是一个优先事项,您可以简单地使用字符流类,而不需要重视字符集问题.但是,如果国际化成为一个优先事项,您的…
概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 字节流的抽象基类 InputStream,OuputStream 字符流的抽象基类 Reader,Writer 注: 这些基类的子类都是以基类的名称结尾的,如FileReader,FileInputStream 字节流 字节流:以字符为导向的流 简单介绍一个例子,演示字节流对图片的复制 1: imp…
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列的对象被称为输入流:能够向其写入一个字节序列的对象被称为输出流. 2. 字节流 Java中的字节流处理的最基本单位为单个字节,它通常用来处理二进制数据.Java中最基本的两个字节流类是InputStream和OutputStream,它们分别代表了一组基本的输入字节流和输出字节流.InputStr…
字节流 一.字节输出流OutputStream OutputStream此抽象类,是表示输出字节流的所有类的超类.操作的数据都是字节,定义了输出字节流的基本共性功能方法. FileOutputStream类 OutputStream有很多子类,其中子类FileOutputStream可用来写入数据到文件. FileOutputStream类,即文件输出流,是用于将数据写入 File的输出流. 构造方法: 给文件中续写和换行 构造方法: 实例: public class OutPutStreamD…
什么是缓冲流: 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率. 图解: 1.字节缓冲流BufferedInputStream:BufferedOutputStream: public BufferedInputStream(InputStream in) :创建一个 新的缓冲输入流. public BufferedOutputStream(OutputStream out) : 创建一个新的缓冲输出流. 案例对比:…
字符流 在程序中一个字符等于两个字节,那么java提供了Reader.Writer两个专门操作字符流的类. 字符输出流:Writer Writer本身是一个字符流的输出类,此类的定义如下: public abstract class Writer extends Object implements Appendable,Closeable,Flushable 此类本身也是一个抽象类,如果要使用此类,则肯定要使用其子类,此时如果是向文件中写入内容,所以应该使用FileWriter的子类. File…
流是指一连串流动的数据信号,以先进,先出的方式发送和接收的通道 流的分类根据方向分为输入流所有接收,获得,读取的操作都是属于输入流所有的输入流名字都带有input或Reader 输出流所有发送,写的操作都是属入输出流所有的输出流名字都带有output或Writer 根据格式划分 字节流单字节为单位发送或接收数据,所有的数据格式都可以通过字节流来传输但是字节流对中文(以及其他双字节的文字)格式不能直接支持,需要编码转换字节流可以传输所有的文件包括二进制文件字节流在操作时本身不会用到缓冲区(内存),…
字符流 计算机并不区分二进制文件与文本文件.所有的文件都是以二进制形式来存储的,因此, 从本质上说,所有的文件都是二进制文件.所以字符流是建立在字节流之上的,它能够提供字符 层次的编码和解码.列如,在写入一个字符时,Java虚拟机会将字符转为文件指定的编码(默认 是系统默认编码),在读取字符时,再将文件指定的编码转化为字符. 常见的码表如下: ASCII:           美国标准信息交换码.用一个字节的7位可以表示. ISO8859-1:   拉丁码表.欧洲码表,用一个字节的8位表示.又称…