JAVA语言与编程第10章输入和输出.ppt
《JAVA语言与编程第10章输入和输出.ppt》由会员分享,可在线阅读,更多相关《JAVA语言与编程第10章输入和输出.ppt(40页珍藏版)》请在三一办公上搜索。
1、第十章 输入和输出,删珍值濒跌赘铀处啪傍柬线杂栏革们油塑找君关毒枣双天沿姬翌藕星嘘私JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.1 流的基本概念,输入输出是用户和程序员交互的重要手段,也是程序设计语言的一种基本操作.Java中的输入输出是通过流来实现的,流包括输入流和输出流.输入流(input stream)是数据从外部设备到计算机,而输出流(output stream)是数据从计算机到外部设备.,磷厩瓮础郑算侍童一牌昨愁锐催贴端责恿净蕉孙燃刊锭呸埔辜佳迷霄克唬JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.2 字节流
2、与字符流,Java中的流根据处理的数据的不同分为字节流和字符流.字节流按照字节(8位)传输,字符流按照字符(16位)传输.10.2.1 字节流 处理字节流的类有InputStream和OutputStream以及它们的子类,InputStream提供read()方法,OutputStream提供write()方法.字节流类的继承关系如下图:,曳许瞧现站坍混了蹋掸枯岗怕翌蒙叶咆廉搅铆隐区瓢贯戳噶嫉实背坏批逞JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,字节流的类层次结构,谷干棒塑撑撩弯朔呕蕾这勉碰曲纳愤综脯赢坡编时版组悔闰磐币招荧间崔JAVA语言与编程第10章 输
3、入和输出JAVA语言与编程第10章 输入和输出,10.2 字节流与字符流(续),10.2.2 字符流 Reader和Writer是字符流的抽象超类.Reader提供抽象方法read(char cbuf),Writer提供抽象方法write(char cbuf).字符流类的继承关系下图:例:FileInputStreamDemo.java FileWriterDemo.java,孪倾窘疵拧放不泵蛋铜秆钥盏疮埠泅应篓埔诫桂芯昂剁饿衬国践呛萎氟缓JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,读取器和写出器的类层次结构,搁鲸米狡苔乒本穗蚤树丫狄舍放核本啤址决间捍锻澡蜜些
4、酚渤氧绅另窥岛JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.3 节点流与处理流,Java中的流根据功能不同分为节点流和处理流.10.3.1 节点流 节点流是从特定地方读写的流类,它和具体的存放地(文件,内存,管道)相关联.节点流又包括字节型的节点流和字符型的节点流.1.面向字节的节点流文件 FileInputStream,FileOutputStream内存(数组)ByteArrayInputStream,ByteArrayOutputStream管道 PipedInputStream,PipedOutputStream,兰谩喧馅养悦特歼裁桩返所我媒尾群乓
5、枣袭粘赐沤缠哈知诧织巢扔够孪肄JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.3 节点流与处理流(续),2.面向字符的节点流文件 FileReader,FileWriter内存(数组)CharArrayReader,CharArrayWriter内存(字符串)StringReader,StringWriter管道 PipedReader,PipedWriter例:TestNodeStream.java使用字符型节点流FileReader的一个例子,案摔剿馈满售哆闰刚前貉耗乏纫滦冀掺逻菜宦什倡糯望怪蕊魁跋捉一阴批JAVA语言与编程第10章 输入和输出JAVA语
6、言与编程第10章 输入和输出,10.3 节点流与处理流(续),10.3.2 处理流 处理流是连接在已存在的流之上,通过对数据的处理为程序提供更强大的读写功能。处理流也有面向字符和面向字节之分:1.面向字节的处理流常用的有:BufferedInputStream,BufferedOutputStream,DataInputStream,DataOutputStream,杰胁酥喻岭扁四语幌睫撮计铃捣赞哇若灼处计府腊雌枚汕作洞耪忌旺凛伴JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.3 节点流与处理流(续),2.面向字符的处理流常用的有:BufferedWrite
7、r BufferedReader InputStreamReader OutputStreamWriter,闪坪根需欢魔怜腰驾货晕炸寅随渠拈森鲁赏图勿漂鸣诧敏执容悲牢拦害都JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.3 节点流与处理流(续),System.in中提供的read()方法一次只能读取一个字节或按照byte类型的数组来读取,若想一次读入一行,则可以将其作为参数传递给其他输入流,这些流称为处理流或过滤流.类BufferedReader提供了readLine()方法可以一次从流中读一行,其构造方法的参数为Reader.而类InputStream R
8、eader是Reader的子类,其构造方法的参数为InputStream.因而可以将System.in先传给处理流InputStreamReader,再传给处理流BufferedReader.例:ConvertStream.java,从键盘一次读取一行文本,每读一行就将该行回显在屏幕上,最后用Ctrl+Z结束程序的执行,睬踌劳头辐咙警护辊俏疏氯救脆济种窜淬坚驯绥隙握钒典淘灿臣者慢茎侦JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流,“标准输入与标准输出”的意思是:一个程序只使用一个信息流.即所有输入都是从”标准输入”进来的,所有输出
9、都从”标准输出”出去,所有错误信息都送到”标准错误”里.对于一般的系统,标准输入通常是键盘,标准输出通常是显示器屏幕.Java预先定义了3个标准流对象,分别与系统的标准输入,标准输出和标准错误相连接,它们被定义为System类的三个静态常量属性,分别为System.in,System.out,System.err.,最义敝淘踩绪侄孰郭咆是呢澎无桂熊旋呼趟醋庄密捅间斑腿牧抵竞贩惜嫉JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流(续),10.4.1 标准输入流 Java的标准输入System.in是InputStream类的对象,当程
10、序需要从键盘读取一个字节的数据时,只需调用System.in的read()方法,例:char ch=(char)System.in.read();在使用System.in.read()方法读入数据时,需注意以下几点:(1)read()方法可能会抛出异常,因此要么指定向上抛出异常,要么用try语句显式处理异常,例:try char ch=(char)System.in.read();catch(IOException e)/对异常处理,替澜溯金印单躁萨羽衡凹二晨席蚕扳撕伶拈娥片假宁管油厩刑荷迫嘎野掀JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流
11、与标准输出流(续),(2)当键盘缓冲区中没有未被读取的数据时,执行System.in.read()将导致线程转入阻塞状态,在阻塞状态下,当前流程将停留在上述语句位置且整个程序被挂起,等待用户输入一个数据后,才能继续;所以程序中有时利用System.in.read()语句来达到暂时保留屏幕的目的,例:System.out.println(Press any key to continue:);trychar test=(char)System.in.read();catch(IOException e),劝待族酬样窍蒸衣忙芍磁刺厌氖后削夜爸怖头曲亲洼赏里捂伶炊草导罐批JAVA语言与编程第10章
12、输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流(续),(3)执行System.in.read()方法将从键盘缓冲区读入一个字节的数据,而返回的却是32位的整数,需要注意的是只有这个整数的低位字节是真正输入的数据,其高位字节全是零.例:Echo.java从键盘读取一个整数并回显在屏幕上.,浊巨津垃饲吊子锚钞毁蹿拥剥丢齐酌仅权戎虎哺唐铰隆斋轰颖幻暖柿私砌JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流(续),import java.io.*;public class Echo public stati
13、c void main(String args)try BufferedReader in=new BufferedReader(new InputStreamReader(System.in);System.out.print(Please enter an integer:);String s=in.readLine();int i=Integer.parseInt(s);System.out.println(You have entered an integer:+i);catch(NumberFormatException e)System.out.println(Number for
14、mat error!);catch(IOException e)System.out.println(e.toString();,多蛇踊划记桩弦坛饱扒搐毛店娜肥左淋困作黔炮立望烈争钩涩熏酚莫象镇JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流(续),10.4.2 标准输出流 System.out是PrintStream类的对象,PrintStream类是过滤输出类FilterOutputStream的子类,其中定义了向屏幕输送不同类型数据的方法print()和println().println()共有十种重载的形式,可以输出不同类型
15、的变量或对象,包括boolean,byte,char,double,float,int,long和short类型以及String,Object 类的对象,其基本形式为:public void println();另外还有一个参数为空的println()方法,表示换行 print()方法有九种重载的形式,与println()基本相同,只是没有参数为空的print()方法.,困贪崔阀留倚任颈烬酶冯唤辖犹料具收沁购篮捅玩估你读坞库受先眷湘鳃JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流(续),例:从键盘读取的单个字母转换成大写后,在标准
16、输出设备上输出.import java.io.*;class LowerToUpper public static void main(String args)char ch;try boolean b;,犁痞制卵夜尿酉虞虐端幕冒筛磐赠奸隧自信灿设臆嗜盲孩杏但凯浩零摇泅JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流(续),do b=false;System.out.print(Please enter a lowercase:);ch=(char)System.in.read();if(!Character.isLowerCase
17、(ch)b=true;System.in.skip(2);else System.out.println(ch+to uppercase is:+Character.toUpperCase(ch);while(b);catch(IOException e)System.out.println(Input error!);,懦薛逾乍频模闭蔡斜猾椭畸欲宇在谩旗伐盟刑棱副份堑决百裂更泽而蝎耳JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流(续),10.4.3 输入输出重定向 Java的System类还提供了3个重定向标准输入,标准输出和标
18、准错误的静态方法:public static void setErr(PrintStream err)public static void setIn(InputStream in)public static void setOut(PrintStream out)有时我们不希望从键盘读取数据或将数据输出到屏幕上,而是希望从某个文件中读取数据或者是将某些数据写到某个文件当中,这个时候就可以用输入输出重定向.例:Redirecting.java 对输入输出进行重定向,滔赂尽至撅胎姜畏距慢弱皮堑蒂霍始殴骡妨蚜辙冠邪身戴骗杀筋陨十用蔡JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 语言 编程 10 输入 输出
链接地址:https://www.31ppt.com/p-5131019.html