Java高级编程(文件输入与输出)_第1页
Java高级编程(文件输入与输出)_第2页
Java高级编程(文件输入与输出)_第3页
Java高级编程(文件输入与输出)_第4页
Java高级编程(文件输入与输出)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、流、文件及其输入输出,牡丹江大学信电系版权所有,主讲教师:谢凤静,牡丹江大学信电系版权所有,一、流和文件,(一)流与java.io包 1 流 流的含义:计算机系统使用的所有数据从计算机的输入向输出流动,这种数据流动的想法导致了术语流(Stream)的产生。流是一种抽象的概念,它所指的是从数据发送地到数据接收的运动数据序列。 流的分类: 1)按照流的传输方向分类: 输入流(input streams)是数据从外部设备(通常是键盘、鼠标和扫描仪称为数据源)到计算机(程序); 输出流(output streams)是数据从计算机(程序)输出到外部设备(例如显示器等称为目标)。使用“流”的逻辑设备来屏

2、蔽外部设备的差异性,从而使容易接受。 2)按照流的处理方式分类: 字符流:是一个字符序列,是从Reader和Writer派生出的一系列类,以16位的Unicode码表示的字符为基本处理单位,其实质也是字节流. 字节流:是一个字节序列,是从InputStream和OutputStream派生出的一系列类,以字节(byte)为基本处理单位。 2 java.io包 Java以类库的形式提供了多种不同的数据输入/输出处理方式,使用户可以非常灵活的进行各种I/O操作。常用的流(输入/输出)类主要是由java.io包提供的。流和文件等类的继承关系如下图所示。,流和文件等类的继承关系,object,Inpu

3、tStream,OutputStream,File,FileDescriptor,RandomAccessFile,Reader,Writer,牡丹江大学信电系版权所有,一、流和文件,(二)文件 广义上的文件:计算机系统的所有设备都可以理解为一个文件。通过对一个文件的打开操作,流就与特定的文件建立了联系。一旦文件打开,则就可以在文件和程序之间交换信息。,牡丹江大学信电系版权所有,一、流和文件,(三)标准输入输出流 InputStream类:System.in,标准输入流,默认状态对应键盘 PrintStream类: System.out,标准输出流,默认对应显示器, System.error

4、,标准错误信息输出流。 它们是System类中定义的类成员变量, 标准设备可以使用setIn/setOut/setErr方法重新指定! (四)I/O异常 异常处理机制:两种方式 在方法首部添加“抛出异常”(throws IOException),将异常处理的事宜交给系统完成。 try可能出现异常的代码 catch(IOException),或者在方法首部声明抛出异常。,java.lang.object,Reader,Writer,BufferedReader,CharArrayReader,InputStreamReader,FilterReader,PipedReader,BufferedW

5、riter,LineNumberReader,FileReader,PushbackReader,FileWriter,StringReader,CharArrayWriter,InputStreamWriter,FilterWriter,PipedWriter,StringWriter,输入/输出字符流的类层次,牡丹江大学信电系版权所有,二、常用流类的使用方法,字符流: 是从Reader和Writer派生出的一系列类,其中Reader和Writer是抽象类,只提供了一系列用于字符流处理的接口。 字符流的数据源或目标通常是文本文件,例如FileReader和FileWriter就是用来读写文本

6、文件的。 字符流又可分为两大类:节点流(用来从数据源读入数据或者往目的地写出数据)和处理流(对数据执行某种处理)。 主要方法: read(); /从流中读入(输入)数据,文件读完,返回-1 readLine(); /从流中读取一行数据,文件读完,返回null write(参数1,参数2,); /将参数中提供的数据输出到流中 newLine(); /换行(等价于“n”,但只属于BufferedWriter类) close(); /关闭流,牡丹江大学信电系版权所有,二、常用流类的使用方法,字符流文本文件的读写举例 写文本文件 例6-2,用FileWriter类的write()方法创建一个文本文件H

7、ello.txt,并写入若干行文本。p158 例6-4,用BufferedWriter类的write()方法和newLine()方法创建一个文本文件newHello.txt,并写入若干行文本。p158 读文本文件 例6-5,用BufferedReader类的readLine()方法从一个文本文件Hello.txt读取文本并显示在屏幕上。p160,牡丹江大学信电系版权所有,二、常用流类的使用方法,字节流: 是从InputStream和OutputStream派生出的一系列类,其中InputStream和OutputStream是抽象类,只提供了一系列用于字节流处理的接口。 主要方法: read(

8、); /从流中读入(输入)数据 close(); /关闭流 write(参数1,参数2,); /将参数中提供的数据输出到流中,输入/输出字节流的类层次,java.lang.object,InputStream,OutputStream,File,FileDescriptor,StreamTokenizer,ObjectStreamClass,ObjectInputStream,FileInputStream,PipeInputStream,ByteArrayInputStream,FilterInputStream,SequenceInputStream,StringBufferInputStream,RandomAccessFile,FileOutputStream,PipedOutputStream,FilterOutputStream,ByteArrayOutputStream,ObjectOutputStr

温馨提示

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

评论

0/150

提交评论