【Java IO流】字节流和字符流详解】的更多相关文章

接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个char和一汉字一样都占两个字节).一般用字节流假设定义为奇数个长度是,那么存储汉字时会有乱码问题,Java提供了Reader和Writer两个专门操作字符流的类. 1 Writer 字符输出流 此类是抽象类.需用其子类实现.实现了Closeable,Flushable, Appendable三个接口…
1. 字节流和字符流的概念    1.1 字节流继承于InputStream    OutputStream,    1.2 字符流继承于InputStreamReader    OutputStreamWriter.在java.io包中还有许多其他的流,主要是为了提高性能和使用方便. 2. 字节流与字符流的区别    2.1 要把一片二进制数据数据逐一输出到某个设备中,或者从某个设备中逐一读取一片二进制数据,不管输入输出设备是什么,我们要用统一的方式来完成这些操作,用一种抽象的方式进行描述,这…
一:通过字节流操作数据的写入,读出 /** * 通过字节流写入和读出 * @param args */ public static String filePath = "G:" + File.separator + "JAVA" + File.separator + "test" + File.separator + "aaa.txt"; public static void main(String[] args) throw…
https://blog.csdn.net/my_truelove/article/details/53758412 字符和字节之间可以互相转化,中间的参照就是编码方式. 相当于给你一个密码本,按照这个规则,你可以把字符翻译成字节,也可以把字节翻译成字符. 下面密码本有这些: 1. ASCII码,一个字符对应一个字节,可以表示完所有的英文字母,由于汉字占2个字节,所以不可以表示中文. 2. 所以后来就有了Unicode码,分两种,一种是UTF-16,一个字符对应2个字节.一种是UTF-8,他可以…
1. 流的基本概念 在java.io包里面File类是唯一一个与文件本身有关的程序处理类,但是File只能够操作文件本身而不能操作文件的内容,或者说在实际的开发之中IO操作的核心意义在于:输入与输出操作.输入和输出实质上传递的就是一种数据流的处理形式,数据流指的是字节数据 .而对于这种流的处理形式在java.io包里面提供有两类支持. 字节处理流:OutputStream(输出字节流)InputStream(输入字节流) 字符处理流:Writer(输出字符流)Reader(输入字符流) 流操作的…
一.字符流和字节流的区别 拿一下上一篇文章的例子: package com.demo.io; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.Reader; import java.io.Writer; public class FileReaderWriterTest { public static void main(String[] args) throws…
1.流的分类 (1)输入流和输出流(划分输入/输出流时是从程序运行所在内存的角度来考虑的) 输入流:只能从中读取数据,而不能向其写入数据. 输出流:只能向其写入数据,而不能从中读取数据. 输入流主要由InputStream和Reader作为基类,输出流主要由OutputStream和Writer作为基类.它们都是抽象基类,无法直接创建实例. (2)字节流和字符流 字节流和字符流的用法几乎完全一样,区别在于字节流和字符流操作的数据单元不同——字节流操作的数据单元是8-bit的字节,而字符流操作的数…
字节流与字符流的区别? 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如下图所示 下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流. 案例1:使用字节流不关闭执行 package byteStream; import java.io.File; import java.io.FileOutput…
个人理解: IO流就是将数据进行操作的方式,因为编码的不同,所以对文件的操作就产生两种.最好用字节流,为了方便看汉字等,(已经确定文字的话)可以使用字符流.每个流派也就分为输入和输出,这样就可以产生复制文件了!需要注意的是Flush() 是清空,而不是刷新啊. 一般主要用在IO中,即清空缓冲区数据,就是说你用读写流的时候,其实数据是先被读到了内存中,然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还有一部分有可能会留在内存这个缓冲区中.这时候如果你调用了 close()方法…
字符流用于处理字符数据的读取和写入,它以字符为单位. 一.Reader类与Writer类 1.Reader类是所有字符输入流的父类,它定义了操作字符输入流的各种方法. 2.Writer类是所有字符输出流的父类,它定义了操作输出流的各种方法. 二.InputStreamReader类与OutputStreamWriter类 1.InputStreamReader是字节流通向字符流的桥梁.它可以根据指定的编码方式,将字节输入流转换为字符输入流. (1)构造方法有两种: InputStreamRead…