黑马程序员技术交流社区

标题: 黑马程序员————IO总结 [打印本页]

作者: heimafeng    时间: 2015-8-17 23:04
标题: 黑马程序员————IO总结
4、 字符流和字节流的区别5、字符流的扩展分类6、总结一.数据输入输出流:
DataOutputStream:
DateInputStream:
可以输出任何的Java基本数据类型。所以,读取的时候,要按照
写入时的字节数,读取。

二.内存操作流:
ByteArrayOutputStream:
ByteArrayInputStream:
byte[]数组的缓冲区;就是用来缓存byte[]数组
三.打印流:
1.字符流:PrintWriter:
2.字节流:PrintStream:
特点:
  1.只有输出流,没有输入流;
  2.可以读写任何的数据类型;
  3.部分功能带自动刷新,换行;
  4.可以操作文件;
3.标准输入输出流:
  System.in : BufferedInputStream:
  System.out: PrintStream;
四.字节流转换为字符流:(必须掌握)
字节流    -->    转换流      -->      字符流
PrintStream      OutputStreamWriter  BufferedWriter

PrintStream ps = System.in;
OutputStreamWriter out = new OutputStreamWriter(ps);
BufferedWriter bw = new BufferedWriter(out);

五.随机访问流:
RandomAccessFile:不属于"流"类。它内部封装了InputStream和OutputStream
对文件进行读写操作:
构造方法:
RandomAccessFile(String fileName,String mode):mode:"r"只读;"rw":读写;
成员方法:
writeXxxx();
readXxxxx();
getFilePointer():获取当前文件指针
seek():设置当前文件指针;
六.序列化和反序列化:
序列化:ObjectOutputStream:
  注意:1.序列化的类必须实现:Serializable接口(标记接口)
        2.添加一个成员变量:serialVersionUID
  成员方法:
   writeObject(Object obj):
反序列化:
  ObjectInputStream:
  成员方法:
   readObject();
  
七.Properties类:
1.它就是一个Map集合,继承自:Hashtable;
2.继承的: pub(Object key,Object value)  get(Object key)  keySet()
   特有的: setProperty(String key,String value) getProperty(String key) stringPropertyNames()
3.操作配置文件相关:
  load(Reader read):读取配置文件的信息;
  store(Writer out,String com):将集合中的数据写入到配置文件;
八.NIO的一个案例:
1.public static long copy(Path source, OutputStream out) :复制文件
2.public static Path write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options):


作者: 风华正茂    时间: 2015-8-18 12:30
谢谢楼主分享,楼主辛苦了
作者: 平爷    时间: 2015-8-18 13:08
666  整理的很好
作者: lh5484826    时间: 2015-8-18 13:58
总结的很仔细。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2