1 / 15
文档名称:

IO流(熟练使用API).doc

格式:doc   大小:112KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

IO流(熟练使用API).doc

上传人:drp539606 2019/2/24 文件大小:112 KB

下载得到文件列表

IO流(熟练使用API).doc

相关文档

文档介绍

文档介绍:(一):简单介绍()1:流的分类: 输入流/输出流:根据数据方向分类输入流:读取流输出流:写入流(2)字节流/字符流:根据数据单位分类(根据处理数据的不同来区分)(3)节点流/过滤流(包装流):根据流功能分类区别:(1)所有以inputstream/outstream为结尾的流都是字节流,以reader/writer为结尾的是字符流(但是桥转换流例外InputStreamReader/OutputStreamWriter)是一个包装流(2)节点流:可以直接读取源数据的流(直接点说:就是参数可以是数据源) 6流)。字节流字符流备注FileOutputStreamFileInputStreamFileWriterFileReader二进制文件用字节流,字符文件用字符流PipedOutputStreamPipedInputStreamPipedWriterPipesReader主要用于线程间通信处理流(过滤流)BufferedOutputStreamBufferedInputStreamBufferdWriterBufferedReader带有缓冲的流,只有在缓冲满的时候或者手动刷新的时候DataOutputStreamDataInputStream无读写基本类型的数据的方法PrintStreamPrintWriter主要用于记录日志,格式化的输出,所见即所输入,在构造的时候,确定是否自动刷新ObjectOutputStreamObjectInputStream无对象的序列化OutputStreamWriterInputStreamReader无用于字节流和字符流的转化(桥转换流)JavaIO的一般使用原则:一、按数据来源(去向)分类:1、是文件:FileInputStream,FileOutputStream,FileReader,FileWriter2、是byte[]:ByteArrayInputStream,ByteArrayOutputStream3、是Char[]:CharArrayReader,CharArrayWriter4、是String:StringBufferInputStream,StringReader,StringWriter5、网络数据流:InputStream,OutputStream,Reader,Writer二、按是否格式化输出分:1、要格式化输出:PrintStream,PrintWriter三、按是否要缓冲分:1、要缓冲:BufferedInputStream,BufferedOutputStream,BufferedReader,BufferedWriter四、按数据格式分:1、二进制格式(只要不能确定是纯文本的):InputStream,OutputStream及其所有带Stream结束的子类2、纯文本格式(含纯英文与汉字或其他编码方式);Reader,Writer及其所有带Reader,Writer的子类五、按输入输出分:1、输入:Reader,InputStream类型的子类2、输出:Writer,OutputStream类型的子类六、特殊需要:1、从Stream到Reader,Writer的转换类:InputStreamReader,OutputStreamWriter2、对象输入输出:ObjectInputStream,ObjectOutputStream3、进程间通信:PipeInputStream,PipeOutputStream,PipeReader,PipeWriter4、合并输入:SequenceInputStream(序列流)5、更特殊的需要:PushbackInputStream,PushbackReader,LineNumberInputStream,LineNumberReader决定使用哪个类以及它的构造进程的一般准则如下(不考虑特殊需要):第一,考虑最原始的数据格式是什么:是否为文本?第二,是输入还是输出?第三,是否需要转换流:InputStreamReader,OutputStreamWriter?第四,数据来源(去向)是什么:文件?内存?网络?第五,是否要缓冲:bufferedReader(特别注明:一定要注意的是readLine()是否有定义,有什么比read,write更特殊的输入或输出方法)第六,是否要格式化输出:print?(二):使用注意:1:打开一个流之后,一定要注意关闭。2:OutputStreamos=newOutputStream(2,txt);注意:调用完这句话的时候,,如果原来已经有了这个文件,则会把原来的删掉,再创建一个新的。如果需要追加:则这样构造:OutputStreamos=newOut