【代码笔记】Java文件的输入输出(1)——Java.io包的初步理解
- 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.InputStreamReader
- 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.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
【代码笔记】Java文件的输入输出(1)——Java.io包的初步理解的更多相关文章
- 在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM
题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 m ...
- IO与文件读写---使用Apache commons IO包提高读写效率
觉得很不错,就转载了, 作者: Paul Lin 首先贴一段Apache commons IO官网上的介绍,来对这个著名的开源包有一个基本的了解:Commons IO is a library of ...
- Python学习笔记六--文件和输入输出
6.1文件对象 所有Python对文件的操作都是基于对文件对象的操作.那么就从文件对象的创建说起.open()[file()]提供初始化输入输出的接口.open()成功打开文件时会返回一个文件对象. ...
- Mac与Widow下编译与运行java文件引入多个外部jar包
记录下,以后万一用得着呢 1.MAC环境下: 前提:在终端跳转到当前的源文件目录(cd xx), 并且配置好jdk,这里面不是重点 编译命令:注意连接用 : 号 javac -cp commons ...
- C# 代码笔记_文件
string Route = @"D:\ksy\ksy\WebSite1\";//文件地址 string File_name = "user ...
- 【java学习笔记】文件操作
文件操作 java.io.File ①创建删除文件及目录 ②查看文件及目录属性 ③文件过滤器 (PS:不包括文件读写数据) 1.单个文件 创建单个文件,查看属性,删除单个文件. package tmp ...
- 夯实Java基础系列5:Java文件和Java包结构
目录 Java中的包概念 包的作用 package 的目录结构 设置 CLASSPATH 系统变量 常用jar包 java软件包的类型 dt.jar rt.jar *.java文件的奥秘 *.Java ...
- Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包
一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...
- Java-Runoob-高级教程-实例-环境设置实例:1.Java 实例 – 如何编译一个Java 文件?
ylbtech-Java-Runoob-高级教程-实例-环境设置实例:1.Java 实例 – 如何编译一个Java 文件? 1.返回顶部 1. Java 实例 - 如何编译 Java 文件 Java ...
随机推荐
- bit、Byte、bps、Bps、pps、Gbps的单位的说明及换算
一.bit与Byte区别 1. bit(比特) 是电脑记忆体的最小单元,在二进制计算机中,每一比特代表0或1的数位信号. 2. Byte(单位字节) 一般表示存储介质大小的单位,数字.字母和特殊符号占 ...
- centos下dnsmasq安装与配置
说明1.dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能. 2.dnsmasq可以解决小范围的dns查询问题,如 ...
- fiddler抓安卓
1.tools connections 左 allow remote computersconnect 选中 2.配置模拟器 wifi 长按 修改网络 ip电脑ip 端口8888 ps:修改完不要 ...
- 螺旋队列(p98)
先判断这个坐标代表的数位于哪一层,然后依据该层最大的数去计算这个坐标所代表的数. #include"iostream" #include"stdio.h" #i ...
- aoj0558
一.题意: 在H * W的地图上有N个奶酪工厂,分别生产硬度为1-N的奶酪.有一只吃货老鼠准备从老鼠洞出发吃遍每一个工厂的奶酪.老鼠有一个体力值,初始时为1,每吃一个工厂的奶酪体力值增加1(每个工厂只 ...
- Java swing中的keyListener使用事例
最近在学习Java swing,写了一个域内聊天室,实现用户登录ip,端口号之后,进入聊天窗口聊天: 通过菜单条增加了几个功能,边框,字体,颜色和文件传输.风格里的样式都可以通过自己选择来设置. 介绍 ...
- linux 第八章 高级键盘
1.clear:清屏 2.history:显示历史命令列表 3.Ctrl+A:移动光标到行首 4.Ctrl+E:移动光标到行尾 5.Ctrl+F:光标向前移动一个字符 6.Ctrl+B:光标向h后移动 ...
- css 小知识点
苹果浏览默认表单 单选 多选 下拉列表 效果的去除 提交按钮-webkit-appearance: none;-moz-appearance: none;-ms-appearance: none;ap ...
- 页面跳转问题-button 确定提交按钮
form和ajax不可一起用了,button标签默认是用的form表单,所以导致跳转有问题,form不能和ajax一起用的,切记
- 关于i18n
现在工作主要负责小程序端,很少负责backend.最近的一个任务是配置多语言.因为一开始都是写死的中文,现在需要把那些变成英文. 狂搜了一波,其实网上的方法都不怎好.(可能就是一开始看的时候觉得好.) ...