- Java里面文件的输入输出全部在java.io包里面。
- Java.io包里面所有的类都需要掌握。
- java.io包里面所有的东西都在上面了。
- 包里面的相关类、异常等树关系如下
-
类分层结构
- java.lang.Object
- 对象的母类,所有对象都在这个类之下。
- java.io.Console (implements java.io.Flushable)
- 比如:从eclipse的控制台读取数据,不用eclipse基本没啥用。
- java.io.File (implements java.lang.Comparable<T>, java.io.Serializable)
- 用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录。申明关联一个文件的路径。
- java.io.FileDescriptor
- 这个搞不懂有什么用……
- java.io.InputStream (implements java.io.Closeable)
-
抽象类。表示字节输入流的所有类的超类,需要定义
InputStream
子类的来运用。
-
- java.io.ByteArrayInputStream
- 应该是字节数组输入流……API解释是:包含一个内部缓冲区,该缓冲区包含从流中读取的字节。内部计数器跟踪
read
方法要提供的下一个字节。 - java.io.FileInputStream
- 从文件系统中的某个文件中获得输入字节。
- java.io.FilterInputStream
- 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。
-
- java.io.BufferedInputStream
- 创建一个内部缓冲区数组。在读取或跳过流中的字节时,可根据需要从包含的输入流再次填充该内部缓冲区,一次填充多个字节。
- java.io.DataInputStream (implements java.io.DataInput)
- 包装类DataInputStream提供了多种对文件的写入和读取方法
-
读取识别java的基本数据类型,整型 浮点型 布尔型这些东西都可以识别,但是相比FileInputStream,这种面向文件的读取就不可以。
相比FileInputStream读取的单位是字节,是因为他面向的是文件,它不管他要读取的东西是什么数据类型,统统以之为文件的形式,然后按照字节为单位,一个字节一个字节的读取。
- java.io.LineNumberInputStream
- 已过时。(意思就是别用就行)
-
-
- java.io.PushbackInputStream
- java.io.ObjectInputStream (implements java.io.ObjectInput, java.io.ObjectStreamConstants)
- java.io.PipedInputStream
- java.io.SequenceInputStream
- java.io.StringBufferInputStream
-
- java.io.ObjectInputStream.GetField
- java.io.ObjectOutputStream.PutField
- java.io.ObjectStreamClass (implements java.io.Serializable)
- java.io.ObjectStreamField (implements java.lang.Comparable<T>)
- java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
-
- java.io.ByteArrayOutputStream
- java.io.FileOutputStream
- java.io.FilterOutputStream
- java.io.BufferedOutputStream
- java.io.DataOutputStream (implements java.io.DataOutput)
- java.io.PrintStream (implements java.lang.Appendable, java.io.Closeable)
- java.io.ObjectOutputStream (implements java.io.ObjectOutput, java.io.ObjectStreamConstants)
- java.io.PipedOutputStream
- java.security.Permission (implements java.security.Guard, java.io.Serializable)
-
- java.security.BasicPermission (implements java.io.Serializable)
- java.io.SerializablePermission
- java.io.FilePermission (implements java.io.Serializable)
- java.security.BasicPermission (implements java.io.Serializable)
- java.io.RandomAccessFile (implements java.io.Closeable, java.io.DataInput, java.io.DataOutput)
- java.io.Reader (implements java.io.Closeable, java.lang.Readable)
-
- java.io.BufferedReader
- java.io.LineNumberReader
- java.io.CharArrayReader
- java.io.FilterReader
- java.io.PushbackReader
- java.io.FileReader
- java.io.PipedReader
- java.io.StringReader
- java.io.BufferedReader
- java.io.StreamTokenizer
- java.lang.Throwable (implements java.io.Serializable)
- java.lang.Error
- java.io.IOError
- java.lang.Exception
- java.io.IOException
- java.io.CharConversionException
- java.io.IOException
- java.lang.Error
-
-
-
-
- java.io.EOFException
- java.io.FileNotFoundException
- java.io.InterruptedIOException
- java.io.ObjectStreamException
-
-
-
-
-
-
-
-
- java.io.InvalidClassException
- java.io.InvalidObjectException
- java.io.NotActiveException
- java.io.NotSerializableException
- java.io.OptionalDataException
- java.io.StreamCorruptedException
- java.io.WriteAbortedException
- java.io.SyncFailedException
- java.io.UnsupportedEncodingException
- java.io.UTFDataFormatException
-
-
-
-
- java.io.Writer (implements java.lang.Appendable, java.io.Closeable, java.io.Flushable)
- java.io.BufferedWriter
- java.io.CharArrayWriter
- java.io.FilterWriter
-
-
- java.io.OutputStreamWriter
- java.io.FileWriter
- java.io.PipedWriter
- java.io.PrintWriter
- java.io.StringWriter
- java.io.OutputStreamWriter
-
-
接口分层结构
- java.io.Closeable
- java.io.DataInput
- java.io.ObjectInput
- java.io.DataOutput
- java.io.ObjectOutput
- java.io.FileFilter
- java.io.FilenameFilter
- java.io.Flushable
- java.io.ObjectInputValidation
- java.io.ObjectStreamConstants
- java.io.Serializable
- java.io.Externalizable
-
- a
- e
转载于:https://www.cnblogs.com/xiaofu007/p/5516263.html