Java输入输出系统 (2).ppt

上传人:牧羊曲112 文档编号:6510272 上传时间:2023-11-07 格式:PPT 页数:38 大小:303KB
返回 下载 相关 举报
Java输入输出系统 (2).ppt_第1页
第1页 / 共38页
Java输入输出系统 (2).ppt_第2页
第2页 / 共38页
Java输入输出系统 (2).ppt_第3页
第3页 / 共38页
Java输入输出系统 (2).ppt_第4页
第4页 / 共38页
Java输入输出系统 (2).ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《Java输入输出系统 (2).ppt》由会员分享,可在线阅读,更多相关《Java输入输出系统 (2).ppt(38页珍藏版)》请在三一办公上搜索。

1、1,Java 程序设计基础,Email:,授课教师:赖涵,手机:,3,内容,什么是流?流的分类InputStreamOutputStreamReaderWriter什么是Fileter?文件操作举例,4,输入输出流的概述,Java的输入输出基于流。import java.io.*;,5,什么是流?,Stream,Stream,Stream,Stream,A stream is a path ofInformation from a source to a destination,.doc.txt,6,内容,什么是流?流的分类InputStreamOutputStreamReaderWriter

2、什么是Fileter?文件操作举例,7,流的分类,InputStream,OutputStream,Reader,Writer,Byte Streams,Character Streams,读写以字节为单位进行,读写以字符为单位进行,8,流的分类细说,InputStream 和OutputStream提供面向字节的I/O。Reader 和Writer 提供面向字符的I/O。Reader 和Writer 提供国际化的支持。,9,InputStream的分类,InputStream是字节输入流。它的几种输入源可以是:1.一个字节数组2.一个String 对象3.一个文件4.一个管道,10,Inpu

3、tStream的分类,常用的InputStream流有下列几个:ByteArrayInputStream StringBufferInputStream FileInputStream PipedInputStream,/把字节数组转换为输入流,/把字符串转换为输入流,/从文件中读取数据,/连接一个PipedOutPutStream,已废弃!,11,OutputStream的分类,OutputStream是字节输出流。它的几种输出目的地可以是:1.一个字节数组2.一个文件3.一个管道,12,OutputStream的分类,常用的OutputStream流有下列几个:ByteArrayOutpu

4、tStreamFileOutputStreamPipedOutputStream,13,Reader&Writer的分类,因为Reader&Writer的分类类似于 InputStream和OutputStream的分类。所以下面我们通过一个表格来做对比,从而对Reader&Writer的分类加以介绍。,14,Reader&Writer的分类,15,Reader&Writer的分类,16,内容,什么是流?流的分类InputStreamOutputStreamReaderWriter什么是Fileter?文件操作举例,17,什么是Filter?,Filter(过滤流)是建立在其他流的基础上的。,

5、InputSteam/System.in,InputStreamReader,BufferedReader,18,Filter的分类,过滤流族实现不同的过滤,有的可以暂存数据,有的可以统计经过的数据,有的可以转换数据类型。Filter的分类面向字节的Filter面向字符的Filter,19,Filter(面向字节),FilterInputStream和FilterOutputStream.FilterInputStream和FilterOutputStream都是抽象类,分别继承自InputStream 和 OutputStream根据实现过滤功能的不同,面向字节的Filter也分成 不同的类

6、别,下表给出它们的分类。,20,Filter(面向字节)详细分类,21,Filter(面向字符),FilterReader和FilterWriter.根据实现过滤功能的不同,面向字符的Filter也分成不同的类别。下表给出它们的分类。,22,Filter(面向字符)详细分类,23,内容,什么是流?流的分类InputStreamOutputStreamReaderWriter什么是Fileter?文件操作举例,24,文件I/O,25,文件I/O 相关类,FileInputStreamFileOutputStreamFileReaderFileWriterRandomAccessFile,26,例

7、1:文件I/O 举例,下面这个程序FileIO.java演示文件读写操作。在这个例子中,假设在程序当前执行目录下已经存在一个文件in.txt(它的格式如图1),FileIO.java程序读取in.txt这个文件,然后生成一个新的文件out.txt(生成的新文件out.txt的格式如图2)。,27,例1:文件I/O 举例,in.txt文件格式如图1:,firstsecondthirdforthfifthsixthseventh,图1,line 1=firstline 2=secondline 3=thirdline 4=forthline 5=fifthline 6=sixthline 7=se

8、venth,图2,out.txt文件格式如图2:,1.try2.BufferedReader in=new BufferedReader(new FileReader(in.txt);3.PrintWriter out=new PrintWriter(4.new BufferedWriter(5.new FileWriter(out.txt);6.String s;7.int i=1;8.while(s=in.readLine()!=null)9.out.println(line+i+=+s);10.i+;11.12.in.close();13.out.close();14.catch(Fil

9、eNotFoundException e)15.System.err.println(cannot open in.txt);16.catch(IOException e)17.System.err.println(I/O exception);18.,FileIO.java 代码,29,例1:文件I/O 举例,firstsecondthirdforthfifthsixthseventh,line 1=firstline 2=secondline 3=thirdline 4=forthline 5=fifthline 6=sixthline 7=seventh,正确运行后,30,例1:文件I/

10、O 举例,如果在当前目录下没有in.txt文件,则运行返回结果如下:思考一下,为什么?,31,例2:标准输入读操作举例,这个例子演示从标准输入的读操作ReadFromStdin.java,Stream,例2:标准输:标准输入读操作举例,1.import java.io.*;2.public class ReadFromStdin 3.public static void main(String argv)4.try BufferedReader is=new BufferedReader(new InputStreamReader(System.in);7.String inputLine;8

11、.while(inputLine=is.readLine()!=null)9.System.out.println(inputLine);10.11.is.close();12.catch(IOException e)13.System.out.println(IOException:+e);14.15.16.,33,例3:DataOutputStream举例,这个例子使用DataOutputStream过滤流,生成一个文件。,Stream,1.import java.io.*;2.public class DataIODemo3.public static void main(String

12、arg)4.try DataOutputStream out=new DataOutputStream(new FileOutputStream(text.txt);7.double prices=6.55,9.99,1.8,2.33,0.90;8.int units=12,9,5,6,7;String descs=chicken,beef,lettuce,potato,tomato;10.for(int i=0;iprices.length;i+)11.out.writeDouble(pricesi);out.writeChar(t);12.out.writeInt(unitsi);out.

13、writeChar(t);13.out.writeChars(descsi);out.writeChar(n);14.15.out.close();16.catch(IOException e)17.18.,DataIODemo.java,35,例4:DataInputStream举例,这个例子使用DataInputStream过滤流。读取例3生成的文件。,Stream,1.import java.io.*;2.public class DataIODemo23.public static void main(String arg)4.DataInputStream in=null;5.try

14、6.in=new DataInputStream(new FileInputStream(text.txt);7.double price,total=0.0;8.int unit;char ch;StringBuffer desc;9.while(true)10.price=in.readDouble();in.readChar();11.unit=in.readInt();in.readChar();12.desc=new StringBuffer(20);13.while(ch=in.readChar()!=n)14.desc.append(ch);15.total=price*unit;16.System.out.println(you ordered:+desc 17.+t+price+*+unit+=+total);18.19.,DataIODemo2.java,接上页20.catch(EOFException e)21.try22.in.close();23.catch(IOException e1)24.25.catch(IOException e)26.27.,DataIODemo2.java,38,作业,上机实践所讲的例题。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号