- 1、本文档共119页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 输入/输出流和文件;目录;6.1 输入/输出流;6.1.1 I/O流的概念 ;输入流
为了从信息源获取信息,程序打开一个输入流,程序可从输入流读取信息
输出流
当程序需要向目标位置写信息时,便需要打开一个输出流,程序通过输出流向这个目标位置写信息
;?
;不论数据从哪来,到哪去,也不论数据本身是何类型,读写数据的方法大体上都是一样的:;6.1.2 预定义的I/O流类概述; ?????????????????????????????????????????????????????????????????????????? ;输入/输出流;实现内部格式和文本文件中的外部格式之间转换
内部格式:16-bit char 数据类型
外部格式:
UTF(Universal character set Transformation Format):很多人称之为Universal Text Format
包括ASCII 码及非ASCII 码字符,比如: 斯拉夫(Cyrillic)字符, 希腊字符,亚洲字符等;面向字符的抽象类——Reader和Writer
java.io包中所有字符流的抽象基类
Reader提供了输入字符的API
Writer提供了输出字符的API
它们的子类又可分为两大类
节点流:从数据源读入数据或往目的地写出数据
处理流:对数据执行某种处理
多数程序使用这两个抽象类的一系列子类来读入/写出文本信息
例如FileReader/FileWriter用来读/写文本文件;6.1.2 预定义的I/O流类概述(续) ——面向字符的流;数据源或目标中含有非字符数据,必须用字节流来输入/输出
通常被用来读写诸如图片、声音之类的二进制数据
绝大多数数据是被存储为二进制文件的,世界上的文本文件大约只能占到2%,通常二进制文件要比含有相同数据量的文本文件小得多;InputStream和OutputStream
是用来处理8位字节流的抽象基类,程序使用这两个类的子类来读写8位的字节信息
分为两部分
节点流
处理流;6.1.2 预定义的I/O流类概述(续) ——面向字节的流;标准输入输出流对象
System类的静态成员变量
包括
System.in: InputStream类型的,代表标准输入流,这个流是已经打开了的,默认状态对应于键盘输入。
System.out:PrintStream类型的,代表标准输出流,默认状态对应于屏幕输出
System.err:PrintStream类型的,代表标准错误信息输出流,默认状态对应于屏幕输出;6.1.2 预定义的I/O流类概述(续) ——标准输入输出;从键盘读入信息并在显示器上显示
import java.io.*;
public class Echo {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
String s;
while((s = in.readLine()).length() != 0)
System.out.println(s);
}
} ;System.in
程序启动时由Java系统自动创建的流对象,它是原始的字节流,不能直接从中读取字符,需要对其进行进一步的处理
InputStreamReader(System.in)
以System.in为参数创建一个InputStreamReader流对象,相当于字节流和字符流之间的一座桥梁,读取字节并将其转换为字符
BufferedReader in
对InputStreamReader处理后的信息进行缓冲,以提高效率;Java SE 5.0新特性;重导向标准输入System.in和标准输出System.out
import java.io.*;
public class Redirecting {
public static void main(String[] args) throws IOException {
BufferedInputStream in = new BufferedInputStream(
new FileInputStream( Redirecting.java));
PrintStre
文档评论(0)