Java IO的一般使用原则:
一、按数据来源(去向)分类:
二、按是否格式化输出分:
2、纯文本格式(含纯英文与汉字或其他编码方式);Reader, Writer及其所有带Reader, Writer的子类
决定使用哪个类以及咜的构造进程的一般准则如下(不考虑特殊需要):
第一考虑最原始的数据格式是什么:是否为文本?
第二是输入还是输出?
第四,数據来源(去向)是什么:文件内存?网络
第五,是否要缓冲:bufferedReader (特别注明:一定要注意的是readLine()是否有定义有什么比read, write更特殊的输入或输絀方法)
第六,是否要格式化输出:print?
首先是java的IO这破东西可真费事,I/O类库常使用”流(stream)”这种抽象所谓”流”是一种能生成或接受数据的,代表数据的源和目标的对象流把I/O设备内部的具体操作给隐藏起来了。 正如JDK文档所显示的Java的I/O类库分成输入和输出两大部分。所有InputStream和Reader的派生类都有一个基本的继承下来的,能读取单个或byte数组的read( )方法同理,所有OutputStream和Writer的派生类都有一个基本的能写入单个或byte数组的write( )方法。但通常情况下你是不会去用这些方法的;它们是给其它类用的 —— 而后者会提供一些更实用的接口。因此你很少会碰到只用一个类就能創建一个流的情形,实际上你得把多个对象叠起来并以此来获取所需的功能。Java的流类库之所以会那么让人犯晕最主要的原因就是”你必须为创建一个流而动用多个对象”。
使用IO时首先创建一个数据源IO,然后根据需要的功能创建装饰类IO其构造函数的参数为已创建的数據源IO。
我们以创建一个具有缓冲的文件输入流为例假定需要从磁盘读取文件“C:\/blog/static//
}