IO流操作规律_第1页
IO流操作规律_第2页
IO流操作规律_第3页
IO流操作规律_第4页
IO流操作规律_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IO 流操作规律流操作规律 学习学习 IO 流最痛苦的是流对象很多 不知道用哪一个 流最痛苦的是流对象很多 不知道用哪一个 1 明确数据源和目的明确数据源和目的 源 输入流 InputStraeam Reader 目的 输出流 OutputStream Writer 2 操作的数据是否为纯文本操作的数据是否为纯文本 纯文本 字符流 非纯文本 字节流 3 当明确体系后 再明确要使用哪个具体的对象当明确体系后 再明确要使用哪个具体的对象 通过设备来区分 源设备 内存 硬盘 键盘 目的设备 内存 硬盘 控制台 将一个文本文件中的数据存储到另一个文件中 复制文件 1 源 因为是源 所以使用读取流 InputStream Reader 是不是操作文本文件 是 选择 Reader 2 明确要使用 IO 体系中的哪个对象 明确设备 硬盘 是一个文件 Reader 体系中可以操作文件的对象是 FileReader 是否需要提高效率 是 加入 Reader 体系中的缓冲区 BufferedReader 3 目的 OutputStream Writer 是否为纯文本 是 选择 Writer 设备 硬盘 一个文件 Writer 体系中可以操作文件的对象是 FileWriter 是否需要提高效率 是 加入 Writer 体系中的缓冲区 BufferedWriter 示例代码 import java io public class CopyFileDemo public static void main String args throws Exception BufferedReader bufr new BufferedReader new FileReader d demo txt BufferedWriter bufw new BufferedWriter new FileWriter d b txt String str null while str bufr readLine null bufw write str bufw newLine bufw close 一定要记得关闭流资源 bufr close 练习 将一个图片文件中的数据存储到另一个文件中 复制文 件 示例代码 import java io public class CopyPictureDemo public static void main String args throws Exception FileInputStream fis new FileInputStream d a jpg FileOutputStream fos new FileOutputStream d b jpg int len 0 while len fis read 1 fos write len 需求 将键盘录入的数据保存到另一个文件中 源 键盘 InputStream Reader 是不是纯文本 是 采用 Reader 设备 键盘 对应的流对象是 System in 不是选择 Reader 吗 System in 对应的不是字节流吗 为了操作键盘的文本数据方便 转成字符流按照字符串操作是最 方便的 所以既然明确了 Reader 那么就将 System in 转换成 Reader 用 Reader 体系中的转换流 InputStreamReader InputStreamReader isr new InputStreamReader System in 需要提高效率吗 要 用 BufferedReader BufferedReader bufr new BufferedReader isr 目的 OutputStream Writer 是否为纯文本 是 用 Writer 设备 硬盘 一个文件 使用 FileWriter FileWriter fw new FileWriter new File a txt 需要提高效率吗 要 BufferedWriter bufw new BufferedWriter fw 示例代码 import java io public class SystemInToFileDemo public static void main String args throws Exception BufferedReader bufr new BufferedReader new InputStreamReader System in BufferedWriter bufw new BufferedWriter new FileWriter d save txt String str null while str bufr readLine null bufw write str bufw newLine 写入一行之后进行换行 bufw flush 每写完一行刷新一次 防止意外 if over equals str break bufw close bufr close 想要把录入的数据按照指定的编码表 将数据存到文件中 指定的编码表只有转换流可以指定 OutputStreamWriter 而该转 换流对象要接收一个字节输出流 而且还是可以操作文件的输出流 FileOutputStream OutputStreamWriter osw new OutputStreamWriter new FileOutputStream d txt utf 8 转换流 字符和字节之间的桥梁 通常 涉及到字符编码时 需 要用到转换流 示例代码 import java io public class TransitionStream public static void main String args throws Exception BufferedReader bufr new BufferedReader new InputStreamReader new FileInputStream d a txt utf 8 BufferedWriter bufw new BufferedWriter new OutputStreamWriter new FileOutputStream d b txt utf 8 String str null while str bufr readLine null bufw write str bufw newLine bufw close bufr close 练习 将一个文本数据文件打印在控制台上 示例代码 import java io public class PrintFileDemo public static void main String args throws Exception BufferedReader bufr new BufferedReader new FileReader d a txt BufferedWriter bufw new BufferedWriter new OutputStreamWriter System out String str null while str bufr read

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论