学习的内容:
输入输出
输入和输出是程序设计语言的一个重要功能,是程序和用户之间沟通的桥梁。相对于内存与硬盘,
内存向硬盘传输为输出,反之为输入。
流
Java 语言的输入与输出是以流(Stream)的方式来处理的,流是在计算机输入、输出操作中流动
的数据序列。输入流代表从外设流入到计算机的数据序列,输出流代表从计算机流向外设的数据序列
文件
如果程序运行过程中需要输入或输出信息量大,直接用键盘或显示器显然不可行,此时可以采用文件
文件与流的关系
可以通俗的理解为文件是流的容器,流是文件的内容。就像水杯是水的容器,水是水杯中的内容一样。
File类:File 类的对象表示磁盘、目录、文件。
File常用的APi:
canRead 文件是否可读 boolean:是否可读
delete 删除文件或目录 boolean:操作结果
exists 文件或目录是否存在 boolean:是否存在
getAbsolutePath 获取绝对路径 String:绝对路径
getFreeSpace 获取分区的剩余空间 long:字节数量
getTotalSpace 获取分区的总空间 long:字节数量
getUsableSpace 获取分区的剩余空间 long:字节数量(该方法与getFreeSpace 相似)
getName 获取文件或目录的名称 String:文件或目录名称
isDirectory 是否为目录 boolean:是否为目录
isFile 是否为文件 boolean:是否为文件
isHidden 是否为隐藏文件或目录 boolean:是否隐藏
lastModified 获取文件最后修改时间 long:最后修改时间
length 获取文件长度 long:字节数量
listFiles 获取目录的子目录、文件 File[]:子目录和子文件
listRoots 获取所有磁盘分区 File[]:磁盘分区
mkdir 创建目录 boolean:是否创建成功
流:字节流和字符流
字节流:文件输出|入流、缓存输出|入流、对象输出|入流。(结尾都为Stream)
使用字节输入流(FileInputStream)读取文件分为以下三个步骤:
1. 开打文件。
2. 按字节读取文件。
3. 关闭文件。
字节输出流(FileOutputStream)的使用也分为开发文件、输出、关闭文件三部分。
字符流:文件输出|入流、缓存输出|入流、对象输出|入流。(结尾为Reader|Writer)
字符流的操作方式与字节流基本相同,字符流会根据当前操作系统与语言环境选择适当的字符编
码方式读写文件,适合读取文本文件。
序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。可以通过从存储区中读取或反
序列化对象的状态,重新创建该对象。
序列化的目的
1、以某种存储形式使自定义对象持久化;
2、将对象从一个地方传递到另一个地方,例如A 服务器中的对象传递到B 服务器中。
3、使程序更具维护性
学习的问题:
流不难,当然也不容易,不难是他们都是相似的,难就难在记牢、分清他们的细节。课后、60道题、复习、
面试题,这几个其实就是个选择题。
输入输出
输入和输出是程序设计语言的一个重要功能,是程序和用户之间沟通的桥梁。相对于内存与硬盘,
内存向硬盘传输为输出,反之为输入。
流
Java 语言的输入与输出是以流(Stream)的方式来处理的,流是在计算机输入、输出操作中流动
的数据序列。输入流代表从外设流入到计算机的数据序列,输出流代表从计算机流向外设的数据序列
文件
如果程序运行过程中需要输入或输出信息量大,直接用键盘或显示器显然不可行,此时可以采用文件
文件与流的关系
可以通俗的理解为文件是流的容器,流是文件的内容。就像水杯是水的容器,水是水杯中的内容一样。
File类:File 类的对象表示磁盘、目录、文件。
File常用的APi:
canRead 文件是否可读 boolean:是否可读
delete 删除文件或目录 boolean:操作结果
exists 文件或目录是否存在 boolean:是否存在
getAbsolutePath 获取绝对路径 String:绝对路径
getFreeSpace 获取分区的剩余空间 long:字节数量
getTotalSpace 获取分区的总空间 long:字节数量
getUsableSpace 获取分区的剩余空间 long:字节数量(该方法与getFreeSpace 相似)
getName 获取文件或目录的名称 String:文件或目录名称
isDirectory 是否为目录 boolean:是否为目录
isFile 是否为文件 boolean:是否为文件
isHidden 是否为隐藏文件或目录 boolean:是否隐藏
lastModified 获取文件最后修改时间 long:最后修改时间
length 获取文件长度 long:字节数量
listFiles 获取目录的子目录、文件 File[]:子目录和子文件
listRoots 获取所有磁盘分区 File[]:磁盘分区
mkdir 创建目录 boolean:是否创建成功
流:字节流和字符流
字节流:文件输出|入流、缓存输出|入流、对象输出|入流。(结尾都为Stream)
使用字节输入流(FileInputStream)读取文件分为以下三个步骤:
1. 开打文件。
2. 按字节读取文件。
3. 关闭文件。
字节输出流(FileOutputStream)的使用也分为开发文件、输出、关闭文件三部分。
字符流:文件输出|入流、缓存输出|入流、对象输出|入流。(结尾为Reader|Writer)
字符流的操作方式与字节流基本相同,字符流会根据当前操作系统与语言环境选择适当的字符编
码方式读写文件,适合读取文本文件。
序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。可以通过从存储区中读取或反
序列化对象的状态,重新创建该对象。
序列化的目的
1、以某种存储形式使自定义对象持久化;
2、将对象从一个地方传递到另一个地方,例如A 服务器中的对象传递到B 服务器中。
3、使程序更具维护性
学习的问题:
流不难,当然也不容易,不难是他们都是相似的,难就难在记牢、分清他们的细节。课后、60道题、复习、
面试题,这几个其实就是个选择题。