- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 输入输出及文件操作 计算机数据的I/O方向 大部分程序都需要数据输入/输出处理,比如从键盘读取数据、向屏幕中输出数据、从文件中读或者向文件中写数据、在网络连接时进行读写操作等。在Java开发环境中,主要是由包java.io中提供的一系列的类和统一的接口来实现数据输入/输出处理。把这些不同类型的输入、输出源抽象为流(Stream)。 流是在输入输出之间流动的数据缓冲区,传送是串行的。 流一般分为输入流(Input Stream)和输出流(Output Stream)两类。流和物理文件是有区别的,流是一个动态的概念。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个输入流,而屏幕则只是一个输出流。 I/O流概述 I/O流概述 InputStream/OutputStream和Reader/Writer都直接继承自Java的根类Object,它们各自形成一个独立的继承体系。 字节流抽象类:InputStreamOutputStream 字节流用来读写8位的数据。由于在读写中不会对数据作任何转换,所以可以用来直接处理二进制的数据。 字节流分为输入流InputStream和输出流OutputStream,所有其他的字节流都是它们的子类。 InputStream 字节输入流InputStream类.所有的字节输入流都是InputStream类及其子类,用于从外部设备获取数据到计算机内存中,通过定义其子类以及方法来实现字节输入功能。 右表给出了其主要方法. OutputStream 字节输出流 OutputStream类.所有的字节输出流都是OutputStream类及其子类,用于将计算机内存的数据输出到外部设备.通过定义其子类以及方法来实现字节输出功能。 右表给出了其主要方法 标准输入流 标准输入: InputStream is=System.in; 它是一个标准输入流,一般接收键盘的响应,得到键盘所传递来的信息。 例 下面程序可以从键盘输入字符到程序中,并在屏幕上重新打印出来。 import java.io.*; class Ex11_2 { public static void main(String args[ ]) throws IOException { ? byte buf [ ] = new byte[255]; ??????? System.out.println(enter: ); ??????? System.in.read(buf, 0, 255); ??????? System.out.println(Got : ); ??????? String str = new String(buf); ??????? System.out.println(str); ???} } 例 编程实现从键盘读入若干字符,然后显示出来。 import java.io.*; public class Ex11_3 { public static void main (String args[ ]) throws IOException { int b; while ((b = System.in.read( )) != -1) { System.out.print((char)b); } System.out.println( ); } } 文件字节输入流类FileInputStream InputStream类和OutputStream类都是抽象类,不能实例化,因此在实际应用中并不使用这两个类,而是使用一些基本数据流类,如FileInputStream和FileOutputStream,它们分别是InputStream类和OutputStream类的子类,用于进行文件输入和输出的处理,其数据源和目标都是文件。 FileInputStream用于顺序访问本地文件。它从超类InputStream中继承了read、close等方法对本机上的文件进行操作,但不支持mark方法和reset方法。 FileInputStream类构造方法 FileInputStream类主要有三个构造方法: FileInputStream(String name) FileInputStream(File file) FileInputStream(FileDescriptor fd) 第一个构造方法使用给定的文件名name创建一个FileInputStream对象,用来打开一个到达该文件的输入流,这个文件就是源。 第二个构造方法使用File对象FileInputStr
文档评论(0)