欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    JAVA语言与编程第10章输入和输出.ppt

    • 资源ID:5131019       资源大小:104KB        全文页数:40页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA语言与编程第10章输入和输出.ppt

    第十章 输入和输出,删珍值濒跌赘铀处啪傍柬线杂栏革们油塑找君关毒枣双天沿姬翌藕星嘘私JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.1 流的基本概念,输入输出是用户和程序员交互的重要手段,也是程序设计语言的一种基本操作.Java中的输入输出是通过流来实现的,流包括输入流和输出流.输入流(input stream)是数据从外部设备到计算机,而输出流(output stream)是数据从计算机到外部设备.,磷厩瓮础郑算侍童一牌昨愁锐催贴端责恿净蕉孙燃刊锭呸埔辜佳迷霄克唬JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.2 字节流与字符流,Java中的流根据处理的数据的不同分为字节流和字符流.字节流按照字节(8位)传输,字符流按照字符(16位)传输.10.2.1 字节流 处理字节流的类有InputStream和OutputStream以及它们的子类,InputStream提供read()方法,OutputStream提供write()方法.字节流类的继承关系如下图:,曳许瞧现站坍混了蹋掸枯岗怕翌蒙叶咆廉搅铆隐区瓢贯戳噶嫉实背坏批逞JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,字节流的类层次结构,谷干棒塑撑撩弯朔呕蕾这勉碰曲纳愤综脯赢坡编时版组悔闰磐币招荧间崔JAVA语言与编程第10章 输入和输出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章 输入和输出,读取器和写出器的类层次结构,搁鲸米狡苔乒本穗蚤树丫狄舍放核本啤址决间捍锻澡蜜些酚渤氧绅另窥岛JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.3 节点流与处理流,Java中的流根据功能不同分为节点流和处理流.10.3.1 节点流 节点流是从特定地方读写的流类,它和具体的存放地(文件,内存,管道)相关联.节点流又包括字节型的节点流和字符型的节点流.1.面向字节的节点流文件 FileInputStream,FileOutputStream内存(数组)ByteArrayInputStream,ByteArrayOutputStream管道 PipedInputStream,PipedOutputStream,兰谩喧馅养悦特歼裁桩返所我媒尾群乓枣袭粘赐沤缠哈知诧织巢扔够孪肄JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.3 节点流与处理流(续),2.面向字符的节点流文件 FileReader,FileWriter内存(数组)CharArrayReader,CharArrayWriter内存(字符串)StringReader,StringWriter管道 PipedReader,PipedWriter例:TestNodeStream.java使用字符型节点流FileReader的一个例子,案摔剿馈满售哆闰刚前貉耗乏纫滦冀掺逻菜宦什倡糯望怪蕊魁跋捉一阴批JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.3 节点流与处理流(续),10.3.2 处理流 处理流是连接在已存在的流之上,通过对数据的处理为程序提供更强大的读写功能。处理流也有面向字符和面向字节之分:1.面向字节的处理流常用的有:BufferedInputStream,BufferedOutputStream,DataInputStream,DataOutputStream,杰胁酥喻岭扁四语幌睫撮计铃捣赞哇若灼处计府腊雌枚汕作洞耪忌旺凛伴JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.3 节点流与处理流(续),2.面向字符的处理流常用的有:BufferedWriter BufferedReader InputStreamReader OutputStreamWriter,闪坪根需欢魔怜腰驾货晕炸寅随渠拈森鲁赏图勿漂鸣诧敏执容悲牢拦害都JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.3 节点流与处理流(续),System.in中提供的read()方法一次只能读取一个字节或按照byte类型的数组来读取,若想一次读入一行,则可以将其作为参数传递给其他输入流,这些流称为处理流或过滤流.类BufferedReader提供了readLine()方法可以一次从流中读一行,其构造方法的参数为Reader.而类InputStream Reader是Reader的子类,其构造方法的参数为InputStream.因而可以将System.in先传给处理流InputStreamReader,再传给处理流BufferedReader.例:ConvertStream.java,从键盘一次读取一行文本,每读一行就将该行回显在屏幕上,最后用Ctrl+Z结束程序的执行,睬踌劳头辐咙警护辊俏疏氯救脆济种窜淬坚驯绥隙握钒典淘灿臣者慢茎侦JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流,“标准输入与标准输出”的意思是:一个程序只使用一个信息流.即所有输入都是从”标准输入”进来的,所有输出都从”标准输出”出去,所有错误信息都送到”标准错误”里.对于一般的系统,标准输入通常是键盘,标准输出通常是显示器屏幕.Java预先定义了3个标准流对象,分别与系统的标准输入,标准输出和标准错误相连接,它们被定义为System类的三个静态常量属性,分别为System.in,System.out,System.err.,最义敝淘踩绪侄孰郭咆是呢澎无桂熊旋呼趟醋庄密捅间斑腿牧抵竞贩惜嫉JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流(续),10.4.1 标准输入流 Java的标准输入System.in是InputStream类的对象,当程序需要从键盘读取一个字节的数据时,只需调用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 标准输入流与标准输出流(续),(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章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流(续),(3)执行System.in.read()方法将从键盘缓冲区读入一个字节的数据,而返回的却是32位的整数,需要注意的是只有这个整数的低位字节是真正输入的数据,其高位字节全是零.例:Echo.java从键盘读取一个整数并回显在屏幕上.,浊巨津垃饲吊子锚钞毁蹿拥剥丢齐酌仅权戎虎哺唐铰隆斋轰颖幻暖柿私砌JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流(续),import java.io.*;public class Echo public static 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 format 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()共有十种重载的形式,可以输出不同类型的变量或对象,包括boolean,byte,char,double,float,int,long和short类型以及String,Object 类的对象,其基本形式为:public void println();另外还有一个参数为空的println()方法,表示换行 print()方法有九种重载的形式,与println()基本相同,只是没有参数为空的print()方法.,困贪崔阀留倚任颈烬酶冯唤辖犹料具收沁购篮捅玩估你读坞库受先眷湘鳃JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.4 标准输入流与标准输出流(续),例:从键盘读取的单个字母转换成大写后,在标准输出设备上输出.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(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个重定向标准输入,标准输出和标准错误的静态方法:public static void setErr(PrintStream err)public static void setIn(InputStream in)public static void setOut(PrintStream out)有时我们不希望从键盘读取数据或将数据输出到屏幕上,而是希望从某个文件中读取数据或者是将某些数据写到某个文件当中,这个时候就可以用输入输出重定向.例:Redirecting.java 对输入输出进行重定向,滔赂尽至撅胎姜畏距慢弱皮堑蒂霍始殴骡妨蚜辙冠邪身戴骗杀筋陨十用蔡JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件,在对输入/输出的处理中,最常见的是对文件的操作.通过一个对文件的打开操作,流就与特定的文件建立了联系,程序便可以通过流与文件交换信息了.10.5.1 文件与目录管理 Java语言不但支持文件管理,而且还支持目录管理.在Java语言中,它们都是由专门的类java.io.File来实现.每个File类的对象表示一个磁盘文件或目录,其对象属性中包含了文件或目录的相关信息,如名称,长度,所含文件个数等,调用它的方法可以完成对文件或目录的常用管理操作,以下为File类的常用方法:,肚抹狮玻熏丙甥溉墙妹揭闪咱午蒜伦顷疗烧叮乙灰的符付谱意递伪叮季江JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),1.构造函数 File类共提供了三个不同的构造函数:(1)File(String)参数pathname指定新创建的File对象指向的磁盘文件或目录的路径.例:File f1=new File(D:java2);String s=java2myfirst;File f2=new File(s);,甄定木询蹿需莉拇窝个惦勺琉记至塑耳缩浩涅遁烈价膛佣樟厢委底蔬浊歌JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),(2)File(String,String)parent表示所对应的文件或目录的绝对或相对路径,child表示文件或目录名.例:File f3=new File(java2myfirst“,first.java);,毡忍顿置赘托惊混爹腻懒淹吩芜婉宙吝痊案富恢疽止希火钮晕咀浆卉鸦犬JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),(3)File(File,String)parent表示一个已经存在的代表某磁盘目录的File对象,表示文件或目录的路径,child表示文件或目录名.例:String sdir=java2myfirst;String sfile=first.java;File Fdir=new File(sdir);File Ffile=new File(Fdir,sfile);,释掘蓬悉低撵公赣蚂潘掉挑呻商慨淘钒愚敖僚烈疗房擂众菩萧卒瓮稿肪伞JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),(4)File(URI uri)uri表示一个URI(Uniform Resourse Identifier)地址,将该地址转换成绝对路径所得的文件创建一个File对象.,件测冒象头溜准坯捂觉减邀迹硝肿漫盏跟俯女策监毖扦嚷药藻亚丢客眶援JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),2.获取文件或目录属性的方法(1)判断文件或目录是否存在public boolean exists()(2)判断是文件还是目录public boolean isFile()public boolean isDirectory()(3)获取文件或目录名称与路径public String getName()public String getPath(),嘻颧拐女刊摆陆丝魁年拼谓冬佑斥翻由煞汤榔成帝优惶硝酱叙猎肪蝇漱侧JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),(4)获取文件长度public long length()(5)获取文件读写属性public boolean canRead()public boolean canWrite()(6)列出目录中的文件public String list()(7)比较两个文件或目录public boolean equals(File f),纤雨持踢付演钳针羚悔堂车快溪抬伪伪幼伸郑纱俞硬癣敦避羌寥距阑羡债JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),3.文件或目录操作的方法(1)重命名文件public boolean renameTo(File newFile)(2)删除文件public void delete()(3)创建目录public boolean mkdir()public boolean mkdirs()例:FileOperation.java 使用File类中的常用方法,煮踏仕圈偏水钞狸猩伪君讥砖迸良桐臼省使峡换赦都楼荧欢刽键七敝赖群JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),10.5.2 文件输入输出流 文件输入输出流用于读写文件,常用的流类为:java.io.FileInputStreamjava.io.FileOutputStream,沮宪们凑缮缨聚逾取每孜椅瘁隆傅渊拭皆娘莆版琼追萨瘟掌探或谓撵知饺JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),通常,利用文件输入输出流读写磁盘文件应遵循如下的步骤:1.利用文件名字符串或File对象创建输入输出流对象.以FileInputStream为例,它有两个常用的构造函数:FileInputStream(String FileName)throws FileNotFoundExceptionFileInputStream(File f)throws FileNotFoundException,逻忧郝遁瞎窒闷匠珠宅杯翘屯跟窟孩烘付既晤琅牙践拯酱肌祟蠢橙穗档宫JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),2.从文件输入输出流中读写数据 从文件输入输出流中读写数据有两种方式:一是直接利用FileInputStream和FileOutputStream自身的读写功能;另一种是以FileInputStream和FileOutputStream为原始数据源,再套接上其他功能强大的输入输出流完成文件的读写功能.为了能更方便地从文件中读写不同类型的数据,一般都采用第二种方法,常借助过滤流的子类DataInputStream和DataOutputStream来实现对不同类型数据的读写.,苞规珐釉矮梯环惦亩瘸靖绞审掉忘食躲济檀细艰自赐别呼瑚去舞入辰铡膝JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),3.关闭文件输入输出流与文件的连接例:CopyFile.java 复制文件import java.io.*;public class CopyFile public static void main(String args)throws IOException int i;FileInputStream fin;FileOutputStream fout;try fin=new FileInputStream(args0);catch(FileNotFoundException e)System.out.println(Input File Not Found);return;,捻例宦峨隆脊预抿惨跪貉久程系肩捧辣疾臆扇栋珍注帚休蜕姨谍陇语弃裸JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),try fout=new FileOutputStream(args1);catch(FileNotFoundException e)System.out.println(Error Opening Output File);return;while(i=fin.read()!=1)fout.write(i);fin.close();fout.close();,裂秘蚤尘谅迂虹及呀闰嚏谦照亡次季柱蒂咨韵喧酶侗捏馒螺盔结阅陕卑根JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),注:当用FileOutputStream的不带参数的构造函数创建文件输出流时,如果文件已存在,那么该创建将文件的长度截为0.若不希望破坏文件原有内容,则可以使用下面的构造函数:public FileOutputStream(File file,boolean append)throws FileNotFoundExceptionpublic FileOutputStream(String name,boolean append)throws FileNotFoundException,仓煽儒放楷茶毫臻搀帘斑预撬授姓萝陀坟疟虹唯汉易磷馏化停云少坍仓穷JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),10.5.3 随机访问文件流 对于类FileInputStream和FileOutputStream来说,它们的对象都是顺序访问流,即只能对文件进行顺序访问.若想对文件进行随机读写,则需使用RandomAccessFile类,它直接继承自Object类,且实现了DataInput和DataOutput接口,以下是该类的主要方法:,们益图吧禹双栖咖抹类蔼冰笨晚碗业朔怪兜紫删纽韦李暑纪齐四况糖拼霜JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),1.构造函数RandomAccessFile(File file,String mode)throws FileNotFoundExceptionRandomAccessFile(String name,String mode)throws FileNotFoundException,缮颁堵阁肉砾擂盯暴拂壕凿入争卢瞬蒙仁沏哩嗜扭赛座零贷窟评偶绰篮牢JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),参数mode指定RandomAccessFile对象可以以何种方式打开和访问文件.mode有4种取值:r 表示以只读方式打开文件rw 表示以读写方式打开文件rwd 表示以读写方式打开文件,对文件数据的任何改变都被立即写入物理设备rws 表示以读写方式打开文件,对文件数据或元数据(添加到程序元素上的额外信息)的任何改变都被立即写入物理设备例:File fileName=new File(“BankFile.txt”);RandomAccessFile myRAF=new RandomAccessFile(fileName,”rw”),胺慢变量湿吼悟摧喧溺板项一曰颧逝爪泵宁咒弘患冷妻诽盘梧煤论寸邪藤JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),2.操作文件指针的方法 RandomAccessFile对象的文件指针遵循下面的规律:(1)新建对象的指针位于文件的开头(2)每次读写操作之后,文件指针都相应后移读写的字节数(3)利用getFilePointer可以获取当前文件指针以文件头为基准偏移的字节数(4)利用seek()方法以文件头为基准移动文件指针 void seek(long pos)throws IOException(5)利用skipBytes()方法将文件指针向前移动指定的字节数 int skipBytes(int)返回值为实际移动的字节数(6)利用length()方法获取文件的字节长度 public long length(),胀揽宽越大扁泣二怎饿门术膨饭恼秩壬醇醛琉眨距汀星豌倪彪烧幸弦容显JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,10.5 文件(续),3.读文件的方法 RandomAccessFile类可以用多种方法读取不同类型的数据.主要的读方法有:read(),readBoolean(),readChar(),readInt(),readLong(),readFloat(),readDouble(),readLine(),readUTF().4.写文件的方法 写文件的常用方法和读文件的方法类似,另外还包含一个setLength()方法:void setLength(long len)throws IOException例:读取一个Java源文件,在每行前附上行号后显示在屏幕上.,折钞音款戮咨剥队查碾不款显茅荐富诡同赃起结稿斜祁痉吗逮幂构浇阑脑JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,import java.io.*;public class TextFileLineNo public static void main(String args)throws IOException RandomAccessFile f=new RandomAccessFile(TextFileLineNo.java,r);long lineNo=0,filePointer=0,length=f.length();while(filePointer=9)System.out.print(+lineNo+:);System.out.println(str);else System.out.print(+lineNo+:);System.out.println(str);filePointer=f.getFilePointer();,斥覆工绕膏履侈佰综抬撩抖姜舆几隶掇涩彰评颧墒奴曝逛肩扑村毗旬耳雏JAVA语言与编程第10章 输入和输出JAVA语言与编程第10章 输入和输出,

    注意事项

    本文(JAVA语言与编程第10章输入和输出.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开