java——第十章PPT课件

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十章 输入输出
主要内容 流的概念 读取控制台输入 向控制台写输出 流类 文件的读写
一、流的概念 多数程序在不获取外部数据的情况下不能顺利完成 目标。数据从一个输入源获得,程序的结果被送到 输出目的地。 一个输入流能够抽象多种不同类型的输入:从磁盘 文件,从键盘或从网络套接字。同样,一个输出流 可以输出到控制台,磁盘文件或相连的网络。
BufferedReader(Reader inputReader) 其中,inputReader是链接被创建的BufferedReader 实例的流。 Reader是一个抽象类,它的一个具体的子类是 InputStreamReader,该子类将字节转换成字符。
为获得链接System.in的一个InputStreamReader的对 象,使用下面的构造函数:
(String )
()
(String , boolean append)
它们可以引发IOException或SecurityException异 常。这里,是文件的全称路径,是描述该文件的File 对象。如果append为true,文件以设置搜索路径模式 打开。
outputStream是OutputStream类的对象, flushOnNewline控制Java是否在println( )方法被调用 时刷新输出流。如果flushOnNewline为true,刷新自动 发生,若为false,则不发生。
PrintWriter支持所有类型(包括Object)的 print()和println()方法,这样,我们就可以像用 System.out那样用这些方法。如果遇到不同类型的 情况,PrintWriter方法调用对象的toString()方 法并打印结果。
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
BufferedReader
文件 BufferedWriter
内存
缓冲流内开辟的空间
内存
缓冲流内开辟的空间
文件
四、流类 字节流 1.InputStream(输入流) InputStream是一个定义了Java流式字节输入模式 的抽象类,该类的所有方法在出错条件下引发一个 IOException 异常。 2.OutputStream(输出流) OutputStream是定义了流式字节输出模式的抽象类, 该类的所有方法返回一个void 值并且在出错情况下 引发一个IOException异常。
当该语句执行后,br是通过System.in生成的链接控制 台的字符流。
要从BufferedReader读取字符,用read()。 int read( ) throws IOException 该方法每次执行都从输入流读取一个字符,然后
以整型形式返回。当遇到流的末尾时,它返回-1。 可以看到,它要引发一个IOException异常。
用PrintWriter向外设写数据,指定输出流为 System.out,并在每一新行后刷新流。
wk.baidu.com
BufferedWriter类 使用BufferedWriter流可以将数据写到目的地 BufferedWriter(Writer a)
BufferedReader流调用方法: write(String str) write(String s,int off,int len) 把字符串s或s的一部分写入到目的地。 newLine()写入一个回车
所有的Java程序运行时自动导入java.lang包,这 个包定义了一个名为System的类,该类封装了运行 时环境的多个方面。例如,使用它的某些方法,能 获得当前时间和与系统有关的不同属性。
System同时还包含有3个预定义的流变量:in、out和 err。
System.out是标准的输出流,在默认情况下它是一 个控制台;System.in是标准输入,默认情况下指的 是键盘;System.err指的是标准错误流,它默认是控 制台。需要指出的是,这些流可以重定向到任何兼容 的输入/输出设备。
从键盘读取字符串,使用readLine()方法,它是 BufferedReader 类的成员。这个方法的一般使用 形式如下。
String readLine() throws IOException 该方法返回一个String对象。
三、向控制台写输出 Java允许使用System.out向控制台写数据,但建议仅用 于调试程序时。对于实际的程序,Java推荐的向控制台 写数据的方法是用PrintWriter流。PrintWriter是基于 字符的类,用基于字符的类向控制台写数据使程序更为 国际化。 PrintWriter(OutputStream outputStream, boolean flushOnNewline)
3.(文件输入流) 类创建一个能从文件读取字节的InputStream 类,
它的两个常用的构造函数如下: (String ) ()
它们都能引发异常。这里, 是文件的全称路径,是 描述该文件的File对象。
4.(文件输出流)
创建了一个可以向文件写入字节的类OutputStream, 它常用的构造函数如下:
InputStreamReader(InputStream inputStream) 由于System.in引用了InputStream 类型的对象,它可 以用于inputStream。综上所述,下面的代码创建了与 键盘相连的BufferedReader对象。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.in是InputStream的对象;System.out和 System.err是PrintStream的对象。
二、读取控制台输入 在Java中,控制台输入由从System.in读取数据来完 成。为获得属于控制台的字符流,在BufferedReader 对象中包装了System.in。BufferedReader支持缓冲 输入流,它最常见的构造函数如下:
相关文档
最新文档