黑马程序员技术交流社区
标题:
面试问题----3-----IO流
[打印本页]
作者:
菜鸟的求学路
时间:
2015-5-21 17:37
标题:
面试问题----3-----IO流
一.数据输入输出流:
1.DataOutputStream:
2.DataInputStream:
可以读写任何Java的基本数据类型的数据;
二.内存操作流:
1.ByteArrayOutputStream:
2.ByteArrayInputStream:
类似于StringBuffered的缓存。ByteArrayOutputStream可以缓存很多的byte[]数组;
三.打印流:
1.PrintStream:
2.PrintWriter:
特点:
1.只有输出流,没有输入流;
2.可以向文件,和屏幕输出;
3.可以输出任何类型数据;
4.如果启用自动刷新:println()和printf()和format()方法可以自动刷新;
四:三种方式实现控制台输入:
1.main()的形参;
2.Scanner类;(常用)
3.System.in:InputStream-->字节流,可以转换为字符流;
五:System.in和System.out:
1.System.in:InputStream-->字节流,可以转换为字符流;
字节流--->转换流--->字符流
2.System.out:PrintStream-->字节流。可以转换为字符流:
六:随机访问流:
1.RandomAccessFile:它不是IO流,它内部封装了InputStream和OutputStream
它可以读写文件。它还包含了一个"文件指针"。
七:序列化流:
1.ObjectOutputStream:序列化
2.ObjectInputStream:反序列化;
1.被序列化的对象必须实现一个接口:java.io.Serializable
2.被序列化的对象最好添加一个成员属性:serialVersionUID
3.transient可以修饰成员属性,表示:此属性不被序列化;
八:配置文件操作类:
1.Properties:它是一个Map集合,内部存储"键值对";
2.它具有Map的所有功能;
3.它特有的功能:
1).setProperty(String key,String value):相当于Map的put(Object key,Object value)
2).getProperty(String key):相当于Map的get(Object key);
3).load(Reader in):从配置文件中读取数据。将读取的数据存储在Properties集合中;
4).store(Writer out,String comments):向配置文件中写入数据。
九:JDK7的新IO的类:
Path:与平台无关的路径。
Paths:包含了返回Path的静态方法。
public static?Path?get(URI uri):根据给定的URI来确定文件路径。
Files:对文件操作的工具类:
public static long copy(Path source,OutputStream out):复制文件;
public static Path write(Path path,Iterable<? extends CharSequence> lines,Charset cs,OpenOption ... options);
把集合的数据写入到文件;
作者:
董小姐
时间:
2015-5-21 19:52
赞一个
作者:
Xiao_yu
时间:
2015-5-21 20:23
详细精干!
作者:
lanbo
时间:
2015-5-21 20:44
总结的确实不错
作者:
飘的云
时间:
2015-5-21 20:49
就喜欢这种分享.....
作者:
yky1678
时间:
2015-5-21 20:50
IO流内容很多,有这个就好了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2