接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个char和一汉字一样都占两个字节).一般用字节流假设定义为奇数个长度是,那么存储汉字时会有乱码问题,Java提供了Reader和Writer两个专门操作字符流的类. 1 Writer 字符输出流 此类是抽象类.需用其子类实现.实现了Closeable,Flushable, Appendable三个接口…
第一讲     IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都在IO包中. 4)流按操作数据分为两种:字节流和字符流. 5)流按流向分为:输入流和输出流. 注意:流只能操作数据,而不能操作文件. 3.IO流的常用基类: 1)字节流的抽象基流:InputStream和OutputStream 2)字符流的抽象基流:Reader和Writer 注:此四个类派生出来…
Java IO 转换流 字节转字符流 @author ixenos 字节流 输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| FileInputStream 读取文件的输入字节流.------------| BufferedInputStream 缓冲输入字节流. 该类内部其实就是维护了一个8kb(8192b)字节数组而已. 该类出现的目的是为了提高读取文件数据的效率. 输出字节流:---------| OutputStream…
JAVA之旅(二十四)--I/O流,字符流,FileWriter,IOException,文件续写,FileReader,小练习 JAVA之旅林林总总也是写了二十多篇了,我们今天终于是接触到了I/O了.如果你初学,不懂IO流,你可以从前往后慢慢看,但是你工作了一段时间你会发现,流的使用场景以及技术点是非常的强硬的,我们势必要掌握这个知识点,如果你觉得翻阅API比较鼓噪,看视频得不到精髓,看书看不到要点,你就跟随我的JAVA之旅,一起去探索吧! 一.I/O概述 I/O全名:Input Output…
一.输出字符流 1.1.输出字符流体系 --------| Writer:输出字符流的基类(抽象类)  ----------| FileWriter:向文件输出数据输出字符流(把程序中的数据写到硬盘中)  ----------| BufferedWriter:缓冲输出字符流    缓冲输出字符流的作用:提高了FileWiter的写数据效率和拓展了FileWiter的功能.内部提供了一个8192长度的字符数组作为缓冲区而已,拓展了FileWiter. 注意:所有缓冲流都不具备读写文件的能力(比如B…
我们平常说,java中char占2个字节,可又说汉字在不通的编码格式中所占的位数是不同的,比如gbk中汉字占2个字节,utf8中多数占3个字节,少数占4个.而所有汉字在java程序中我们都可以简单的用 char c = '字' 表示; 那么问题来了,在java程序运行的时候,究竟汉字占几个字节呢? -------------------------- 文章抄袭自:http://www.cnblogs.com/louiswong/p/6062417.html 在讨论这个问题之前,我们需要先区分un…
字符流,读取的文件是字符的时候,有两个基类一个是Reader,一个是Writer这有点拟人的感觉,人直接看懂的是文字 字符流 字节流:读取的是文件中的二进制字节流并不会帮你转换成看的懂得字符 字符流:字符流会把读到的二进制的数据进行对应的编码解码工作. 字符流 = 字节流+编码(解码) 输入字符流Reader 输入字符流的基类 抽象类 |--FileReader 读取文件的输入字符流 FIleReader的用法: 1.找到目标文件 2.建立数据的输入通道 3.读取数据 4.关闭资源 FileWr…
把之前文件复制的代码复制到这里 一个字节一个字节的读取,复制文件 byte数组的形式 缓冲流测试 数组缓冲…
 一:创建方式 1.建立输入(读)对象,并绑定数据源 2.建立输出(写)对象,并绑定目的地 3.将读到的内容遍历出来,然后在通过字符或者字节写入 4.资源访问过后关闭,先创建的后关闭,后创建的先关闭 总结:创建的方式都是差不多的,只不过是使用的输入和输出流不一样. 二:四种流复制文件的例子: 1.字节流复制文件 //1.字节流复制文件 public static void fun(File src,File desc ) throws Exception{ //建立字节流输入(读)对象,并绑定数…
字节流与字符流的区别? 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如下图所示 下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流. 案例1:使用字节流不关闭执行 package byteStream; import java.io.File; import java.io.FileOutput…