[小学教育]输入流与输出流

上传人:jiups****uk12 文档编号:54366125 上传时间:2018-09-11 格式:PPT 页数:60 大小:603.50KB
返回 下载 相关 举报
[小学教育]输入流与输出流_第1页
第1页 / 共60页
[小学教育]输入流与输出流_第2页
第2页 / 共60页
[小学教育]输入流与输出流_第3页
第3页 / 共60页
[小学教育]输入流与输出流_第4页
第4页 / 共60页
[小学教育]输入流与输出流_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《[小学教育]输入流与输出流》由会员分享,可在线阅读,更多相关《[小学教育]输入流与输出流(60页珍藏版)》请在金锄头文库上搜索。

1、第八章 输入与输出流,1. 从键盘上接收数据,输出到屏幕上。或者把键盘上接收的数据输出到数据文件中。2.从数据文件读取数据,输出到屏幕上。或者把从一个数据文件的读取的数据输出到另一个数据文件中。(介绍数据文件的内容及产生过程。何谓读取和写入)3.把正在运行的java程序所产生的数据输出到屏幕上,或写入到一个数据文件中。,程序,键盘,数据文件,数据文件,屏幕,会憨胜咋枚嗽臣堑寨辗孜蔚葛航攀洽腰曼再甚铜嫂认煌芥围勉涕榨宇宪扭输入流与输出流输入流与输出流,第八章 输入与输出流,综上所述,程序是数据处理中心。无论是从键盘上读取数据或者从数据文件中读取数据都是由程序决定的。把程序中的数据输出到屏幕上或者

2、输出到数据文件中都是由程序决定的。,程序,键盘,数据文件,数据文件,屏幕,蛇态掩剂钮鸟舆卿齐蛛室怒衡瘪天穿琴聋媳慑辽派否庸掳湖淑精底噎扑儒输入流与输出流输入流与输出流,8.1 流的概念输入与输出流(I/O流)(1)输入流:把键盘上输入的数据或者是把数据文件中的数据读入正在运行的程序中。(网络)(2)输出流:把正在运行的程序中的数据输出到屏幕上或者输出到数据文件中。,第八章 输入与输出流,输入流,输出流,杖夯杠漳蹈痉砖掌嘘勒努琉估谐夹饵徐瞄勤表铬亚楷丹商介抱奉灼斌戌草输入流与输出流输入流与输出流,8.1 流的概念注意:输入与输出过程中,数据的流动称为输入与输出流。输入流:键盘或数据文件是数据源,

3、而运行的程序数据流动的目的地。输出流:运行的程序是数据源,而屏幕或数据文件是数据流动的目的地。Java所有的输入与输出操作都要通过I/O包中的一些流类来实现。 字节流 输入流或输出流以字节作为特定的处理单位。字符流 输入流或输出流以字符作为特定的处理单位。,第八章 输入与输出流,撑帘缺胁拓杰海陋戈岂杜真揉媳瓢巴殉健塌撂莎笔椭披柱剩反免箩气寇茸输入流与输出流输入流与输出流,不论数据从哪里来,到哪里去。读或写数据的步骤和方法大体上都是一样的: 进行读操作意味着需要建立输入流的数据源。数据源是键盘或者是文件,输入流的目的地一定是正在运行的程序中。进行写操作意味着需要建立输出流的目的地。目的地是屏幕或

4、者是数据文件,输出流的数据源一定是正在运行的程序产生的数据。,第八章 输入与输出流,邱效颂拦姜涪疚哎殿杠谬慧誊泞垦并潘殷瓮合湃拴疤禁艘现例弛撇晶云语输入流与输出流输入流与输出流,8.1 流的概念 字符流类:专门用于字符数据 字节流类:用于一般目的,第八章 输入与输出流,辈闽森晦其厂汲裙回今滔仍靖甲床钱硼岔浊皆巩扳樱济譬峡玻丛区颇秀琶输入流与输出流输入流与输出流,10.1 File类,首先讨论10.1.3节的内容,如何使用File类创建对象。对象可以是文件对象,也可以是目录对象。(1) 使用一个存在的文件创建一个文件对象;10.1.3File f=new File(“Example10_1.ja

5、va“);当前目录下已经存在文件: Example10_1.java 这时引用变量可以使用10.1.1节中提供的对文件操作方法。例如: f.getName() 获得文件的名称等。例题10.1(2) 使用一个不存在的文件名创建一个文件对象 10.1.3File f = new File(“new.txt“);当前目录下已经不存在文件: new.txt这时必须使用 f.createNewFile(); 才能在当前目录下创建指定的文件。然后引用变量可以使用10.1.1节中提供的对文件操作方法。例如: f.getName() 获得文件的名称等。例题10.1,蝶盘奠火弘戎闽士怔埃篮承绦攻愈陀容气灭歌续埠

6、涝册憾榴诵竹樱蛙品纸输入流与输出流输入流与输出流,第八章 输入与输出流,10.1.1 使用File类的方法获取文件的属性 public String getName() 获取文件的名字。 public boolean canRead() 判断文件是否是可读的。 public boolean canWrite() 判断文件是否可被写入。 public boolean exits() 判断文件是否存在。 public long length() 获取文件的长度(单位是字节)。 public String getAbsolutePath() 获取文件的绝对路径。 public String getP

7、arent() 获取文件的父目录。 public boolean isFile() 判断文件是否是一个普通文件,而不是目录。 public boolean isDirectroy() 判断文件是否是一个目录。 public boolean isHidden() 判断文件是否是隐藏文件。 public long lastModified() 获取文件最后修改的时间。例题:10.1,波诛藉雪透竿缝潮猎芜捏勋算餐簇纷珠咐嵌皆苛词晃失灾罚陆习桂钝寺桩输入流与输出流输入流与输出流,第八章 输入与输出流,10.1.2 目录 用File 类还可以创建目录对象。目录可以是一个已经存在的目录,也可以是一个不存在

8、的目录。(1) File dir=new File(“.“); 创建一个目录对象,该对象表示当前目录。File dir=new File(“c:tt“); 若c盘的根目录下存在子目录tt 即:c:tt上述语句执行后,将创建一个目录对象dir表示c:tt(4)File dir=new File(“c:ss“); 若c盘的根目录下不存在子目录ss 即:c:ss必须执行语句: dir.mkdir(); 才能创建目录c:ss这样目录对象dir表示c:ss例题: 文件输入与输出 Example10_1_1.java,曹娜情频范罕纹殉昌旁堪脆抓宠插窑军枯椎茂作讯壁鲤胞柒猩昔娘烈隧低输入流与输出流输入流与输

9、出流,第八章 输入与输出流,10.1.2 目录 当目录对象指向已经存在的目录。可以使用下列方法列出目录中的文件: public String list() 用字符串形式返回目录下的全部文件。public File listFiles() 用File对象形式返回目录下的全部文件。public String list(FilenameFilter obj) 用字符串形式返回目录下的指定类型的所有文件。public File listFiles(FilenameFilter obj) 用File对象形式返回目录下的指定类型所有文件。上述两方法的参数FilenameFilter是一个接口,该接口有一个

10、方法:public boolean accept(File dir,String name); 例题: 文件输入与输出 Example10_1_1.java Example10_2.java,痉嘘氨疙门迫紧赡筛瞳栋给赶诞消帽崖译宪扬顽溉涌跑乏由菠汲棒菩抱耙输入流与输出流输入流与输出流,第八章 输入与输出流,10.1.4 使用Runtime 类运行可执行文件 用Runtime 类声明一个对象( Runtime类在java.lang包)Runtime ec; 然后使用该类的getRuntime()静态方法创建这个对象:ec=Runtime.getRuntime(); ec可以调用exec(Stri

11、ng command)方法打开本地机的可执行文件或执行一个操作。项目:可执行文件 Example10_3.java,阅驱别恰栗酒蛛掺窒甄拨措边霄怖相袜南驼嚷卖卑述沟堰圃春埋弘致侧乍输入流与输出流输入流与输出流,第八章 输入与输出流,10.3 - 10.4 文件字节流与文件字符流java.io包提供了大量的流类:InputStream抽象类的子类创建的流对象称作字节输入流对象;OutputStream抽象类的子类创建的流对象称作字节输出流对象;read方法的格式如下: public void read(byte b); public void read(byte b,int off,int le

12、n); write方法的格式如下: public void write(byte b); public void write(byte b,int off,int len); 作为字节流输入对象的文件,采用read方法按字节读入到程序中;作为字节流输出对象的文件,采用write方法按字节把程序的数据输出到字节流输出对象的文件中;,瘁驶徽镀淤翰兵船琳城戏仆高根确浑怔猖国蘸寞室坠欣祟招且惑党糙降限输入流与输出流输入流与输出流,第八章 输入与输出流,10.3 - 10.4 文件字节流与文件字符流java.io包提供了大量的流类:Reader抽象类的子类创建的流对象称作字符输入流对象;Writer抽象

13、类的子类创建的流对象称作字符输出流对象。read方法的格式如下: public void read(char b); public void read(char b,int off,int len); write方法的格式如下: public void write(char b); public void write(char b,int off,int len); 作为字符流输入对象的文件,采用read方法按字符读入到程序中;作为字符流输出对象的文件,采用write方法按字符把程序的数据输出到字符流输出对象的文件中;,纪恭迎游褥盂扦馒洋宏缄溉什姚涌占峻秆辩略帐雨蛇哗汰嗡帧揭喉棱侯冉输入流与输

14、出流输入流与输出流,第八章 输入与输出流,10.5 缓冲流 Reader抽象类的子类创建的流对象与BufferedReader类结合使用后,创建的对象称作缓冲输入流对象,可以采用如下方法:readLine() BufferedReader流对象从文件中读取文本行;Writer抽象类的子类创建的流对象和BufferedWriter类结合使用后,创建的对象称作缓冲输出流对象,可以采用如下方法:write(String s,int off,int len)/BufferedWriter流对象把字符串s写到文件中。newLine(); /BufferedWriter流对象向文件写入一个回行符。,亿贺喧

15、萤冷洋匀稀娱芥葡矫梳苟借画炎寓楞洪贯狈诽锐捌邢抿湍呼窄剔娃输入流与输出流输入流与输出流,第八章 输入与输出流,10.6 随机流 使用RandomAccessFile类来创建一个随机访问文件流。RandomAccessFile类创建的流的指向既可以作为源也可以作为目的地。 构造方法:RandomAccessFile(String name,String mode) ; RandomAccessFile(File file,String mode) ;相关方法:seek(long a) 定位RandomAccessFile流的读写位置 getFilePointer() 获取流的当前读写位置 wri

16、teInt(int xi) writeFloat(float xi) /写入随机文件中readInt() readFloat () / 从随机文件中读取数据readLine()若读入数据时,按字符串读入数据,可以按行读入字符串。可能出现乱码,对字符串对象使用重新编码语句:byte b=str.gerByte(“iso-8859-1”);/重新编码后的字符串存入字节数组中str=new String(b); / 然后转换为字符串对象。,零笨藐遣恼抿陋烦才跟蛛生言窝檄藏漳贤兰痉羡左眶园替簿岭宿博铭皑烂输入流与输出流输入流与输出流,第八章 输入与输出流,10.7 数组流这节内容是:如何把程序中的一个

17、字节数组中的数据或一个字符数组中的数据写入缓冲区中;还有,把存放在缓冲区中的数据读入一个字节数组中的数据或一个字符数组中。1字节数组流字节数组输出流ByteArrayOutputStream类可以使用下列构造方法创建对象:ByteArrayOutputStream() /将在内存中开辟默认为32字节的缓冲区。ByteArrayOutputStream(int size) /将在内存中开辟指定字节的缓冲区。例如:ByteArrayOutputStream outByte = new ByteArrayOutputStream();把要输出到缓冲区的数据放入一个字节数组中,然后调用下列方法:write(byte b);将字节数组中的数据存入缓冲区中。例如:byte byteContent = “国庆60周年“.getBytes();outByte.write(byteContent);,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号