IO流常用类总结
来源:互联网 发布:淘宝vr购物 编辑:程序博客网 时间:2024/05/23 18:00
InputStream、OutputStream:两个抽象类,是所有字节流的超类。
Reader、Writer:两个抽象类,是所有字符流的超类。
FileInputStream、:字节输入流。FileInputStream的read()方法返回的是读取的一个字节的十进制表示,read(byte[] arr)返回的是读取的字节数。注意:当用自定义的byte数组作为缓冲区时,当缓冲区大小不够一次性读入源中的数据时需要用while循环读取多次时,一定要用new String(arr,0,len)或者Write(arr,0,len)方法注明最后一次循环读取的len,因为在len后到arr.length之间的arr数组的值还是上一次循环时写入的值。
FileOutputStream:字节输出流。字节流的write()方法不经过缓冲区直接写入硬盘中。
FileReader:字符输入流,InputStreamReader的子类。read()方法返回的是一个字符的两个字节的二进制表示(具体原理还不清楚),read(byte[] arr)返回的是读取的字节数。注意事项同FileInputStream。
FileWriter:字符输出流,OutputStreamWriter的子类。注意:write()方法将数据先写入缓冲区,记得用flush()清空缓冲区将数据写入硬盘中。
BufferedReader(其余几个类似):FileReader类的包装类,提高了读取效率,readLine()方法一次读取一行字符(其实是调用System类中的System.getProperty("Line.separator")方法),返回值为String类型。
InputStreamReader(其余几个类似):字节流和字符流转换流。例:InputStreamReader isr=new InputSreamReader(System.in);
PrintWriter、PrintStream:打印流,print()不抛出IOException,能保持数据的表示形式。
SequenceInputStream:序列流,将多个流封装起来的流,用于将多个源写入一个目的。SequenceInputStream(Enumeration<? extends InputStream e>
ObjectInputStream、ObjectOutputStream:操作对象的流,被操作的对象需要实现Serializable接口(标记接口)。Serializable接口用于给被序列化的类加入ID号,如果一个类显式声明了SerialVersionUID,计算机会计算出一个ID号。
PipedInputStream、PipedOutStream:管道输入、输出流,输入流和输出流相接,建议使用多线程,单线程可能会发生死锁。
DataInputStream、DataOutputStream:基本数据读写流。
ByteArrayInputStream、ByteArrayOutputStream:字节数组读写流,关闭无效,因为只在内存中操作数据,没调用底层资源,不抛异常。
其它:
1、和输出流不同,FIle的creatNewFile()方法在文件已经存在时不会创建新文件去覆盖。
2、InputStreamde的availble()方法显示读取文件的大小。
3、deleteOnExit()在虚拟机退出时删掉文件。
4、文件夹有内容是delete()方法删不掉文件夹。
5、FilenameFileter接口中的accept(File dir,String name)方法实现后把实现类对象作为参数传入File的list()方法句可以按指定方式对得到的文件进行筛选。
6、transient关键字:加上这个关键字的成员不会被序列化。
- IO流常用类总结
- IO流-常用的IO流总结
- IO流--常用流总结
- IO常用流对象总结
- Java IO-常用流总结
- IO流常用方式总结
- JAVA IO常用类总结
- java 中常用的io流总结
- java io流常用方法总结
- Rhyme/Java 常用IO流总结
- IO流体系常用类总结
- 常用文件和IO类使用总结
- JAVA IO常用总结
- IO流类总结
- io流类总结
- android 常用io操作总结
- IO学习(十八)两个图总结常用javaIO流
- java常用到的知识点总结之IO流
- Effective C++ Item 6 若不想使用编译器自动生成的函数,就该明确拒绝
- 如何在64位电脑上安装配置emgucv以及使用
- 机器人:打开潘多拉魔盒
- latex
- Android View 绘制刷新流程分析
- IO流常用类总结
- live555 RTSP Server RTP over TCP BUG
- Unknown column '*' in 'field list' 异常解决
- Android 自定义View java.lang.RuntimeException: Unable to start activity ComponentInfo
- 深入解析printf/spintf/snprintf中的类型转换
- FNDLOAD 用法
- UINavigationController使用详解
- 各种总线match匹配函数
- cmd 命令遇到各种问题