黑马程序员技术交流社区
标题:
I/O掌握级类总结
[打印本页]
作者:
zhangyuren
时间:
2016-10-26 06:25
标题:
I/O掌握级类总结
java.lang.Object
|--java.io.File 文件或目录路径{
+构造方法{
+File(File parent, String child)
+File(String pathname)
+File(String parent, String child)
+File(URI uri)//以后学
}
+成员方法{
+exists()
+getAbsolutePath()
+delete()
+getName()
+getPath()
+isDirectory()
+isFile()
+length()
+list()
+list(FilenameFilter filter)
+listFiles()
+mkdir()
+mkdirs()
}
}
|--java.io.InputStream (abstract)抽象读入流{
|--FileInputStream 字节输入流{
+构造方法{
+FileInputStream(File file)
+FileInputStream(String name)
}
+成员方法{
+available()
+close()
+read()
+read(byte[] b)
+read(byte[] b, int off, int len)
}
}
|--FilterInputStream
|--BufferedInputStream 读入字节缓冲流(包装读入字节流){
+构造方法{
+BufferedInputStream(InputStream in) //这里就可以使用多态,传入InputStream的子类FileInputStream
}
+成员方法{
+close()
+read()
+read(byte[] b, int off, int len)
}
}
|--ByteArrayInputStream 内存读入流
}
|--java.io.OutputStream (abstract)抽象写出流
|--FileOutputStream 字节写出流{
+构造方法{
+FileOutputStream(File file))
+FileOutputStream(File file, boolean append)
+FileOutputStream(String name)
+FileOutputStream(String name, boolean append)
}
+成员方法{
+close()
+write(int b)
+write(byte[] b)
+write(byte[] b, int off, int len)
}
}
|--FilterOutputStream
|--BufferedOutputStream 写出字节缓冲区(包装读入字节流){
+构造方法{
+BufferedOutputStream(OutputStream out)
}
+成员方法{
+write(int b)
+write(byte[] b, int off, int len)
}
}
|--PrintStream
|--ByteArrayOutputStream 内存写出流
|--ObjectOutputStream
|--java.io.Reader
|--java.io.InputStreamReader 字节读入流转换字符读入流{
+构造方法{
+InputStreamReader(InputStream in)
+InputStreamReader(InputStream in, Charset cs)
+InputStreamReader(InputStream in, String charsetName)
}
+成员方法{
+close()
+read()
+read(char[] cbuf, int offset, int length)
}
}
|--java.io.FileReader 简化文件字符读入流的书写{
+构造方法{
+FileReader(File file)
+FileReader(String fileName)
}
}
|--java.io.BufferedReader 读取字符流缓冲区(包装读入字符流){
+构造方法{
+BufferedReader(Reader in)
+BufferedReader(Reader in, int sz)
}
+成员方法{
+close()
+read()
+read(char[] cbuf, int off, int len)
+readLine()
}
}
|--java.io.LineNumberReader 能带行号的高效字符缓冲区{
+构造方法{
+LineNumberReader(Reader in)
}
+成员方法{
+getLineNumber()
+read()
+read(char[] cbuf, int off, int len)
+readLine()
+setLineNumber(int lineNumber)
}
}
|--java.io.Writer
|--java.io.OutputStreamWriter 字节写出流转换字符写出流{
+构造方法{
+OutputStreamWriter(OutputStream out)
+OutputStreamWriter(OutputStream out, Charset cs)
+OutputStreamWriter(OutputStream out, CharsetEncoder enc)
+OutputStreamWriter(OutputStream out, String charsetName)
}
+成员方法{
+close()
+flush()
+write(int c)
+write(char[] cbuf, int off, int len)
+write(String str, int off, int len)
}
}
|--java.io.FileWriter 简化文件字符写出流的书写{
+构造方法{
+FileWriter(File file)
+FileWriter(File file, boolean append)
+FileWriter(String fileName)
+FileWriter(String fileName, boolean append)
}
}
|--java.io.BufferedWriter 写出字符流缓冲区(包装写出字符流){
+构造方法{
+BufferedWriter(Writer out)
}
+成员方法{
+close()
+write(int c)
+write(char[] cbuf, int off, int len)
+write(String s, int off, int len)
}
}
|--java.io.PrintWriter{
+字段{
+out
}
}
作者:
zhangyuren
时间:
2016-10-26 06:29
建议大家使用Notepad++,复制纯文本后查看
因为层级关系以用{}分开了,缩进{}的内容的话,对于记忆各类之间的逻辑关系非常有效
每个类后面都有简单的功能说明
作者:
zhangyuren
时间:
2016-10-26 22:58
内容补充:
SequenceInputStream是合并流,也是序列流
它将参数有序的进行读取.
而ObjectOutputStream是对象流,可以序列化.序列化的方式是通过类实现接口Serializable来序列化的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2