资源描述
1,Java程序设计基础,Email:laihan_ctbu,授课教师:赖涵,手机:13527559014,3,内容,什么是流?流的分类InputStreamOutputStreamReaderWriter什么是Fileter?文件操作举例,4,输入输出流的概述,Java的输入输出基于流。importjava.io.*;,5,什么是流?,Stream,Stream,Stream,Stream,AstreamisapathofInformationfromasourcetoadestination,.doc.txt,6,内容,什么是流?流的分类InputStreamOutputStreamReaderWriter什么是Fileter?文件操作举例,7,流的分类,InputStream,OutputStream,Reader,Writer,ByteStreams,CharacterStreams,读写以字节为单位进行,读写以字符为单位进行,8,流的分类细说,InputStream和OutputStream提供面向字节的I/O。Reader和Writer提供面向字符的I/O。Reader和Writer提供国际化的支持。,9,InputStream的分类,InputStream是字节输入流。它的几种输入源可以是:1.一个字节数组2.一个String对象3.一个文件4.一个管道,10,InputStream的分类,常用的InputStream流有下列几个:ByteArrayInputStreamStringBufferInputStreamFileInputStreamPipedInputStream,/把字节数组转换为输入流,/把字符串转换为输入流,/从文件中读取数据,/连接一个PipedOutPutStream,已废弃!,11,OutputStream的分类,OutputStream是字节输出流。它的几种输出目的地可以是:1.一个字节数组2.一个文件3.一个管道,12,OutputStream的分类,常用的OutputStream流有下列几个:ByteArrayOutputStreamFileOutputStreamPipedOutputStream,13,Reader3.PrintWriterout=newPrintWriter(4.newBufferedWriter(5.newFileWriter(out.txt);6.Strings;7.inti=1;8.while(s=in.readLine()!=null)9.out.println(line+i+=+s);10.i+;11.12.in.close();13.out.close();14.catch(FileNotFoundExceptione)15.System.err.println(cannotopenin.txt);16.catch(IOExceptione)17.System.err.println(I/Oexception);18.,FileIO.java代码,29,例1:文件I/O举例,firstsecondthirdforthfifthsixthseventh,line1=firstline2=secondline3=thirdline4=forthline5=fifthline6=sixthline7=seventh,正确运行后,30,例1:文件I/O举例,如果在当前目录下没有in.txt文件,则运行返回结果如下:思考一下,为什么?,31,例2:标准输入读操作举例,这个例子演示从标准输入的读操作ReadFromStdin.java,Stream,例2:标准输:标准输入读操作举例,1.importjava.io.*;2.publicclassReadFromStdin3.publicstaticvoidmain(Stringargv)4.tryBufferedReaderis=newBufferedReader(newInputStreamReader(System.in);7.StringinputLine;8.while(inputLine=is.readLine()!=null)9.System.out.println(inputLine);10.11.is.close();12.catch(IOExceptione)13.System.out.println(IOException:+e);14.15.16.,33,例3:DataOutputStream举例,这个例子使用DataOutputStream过滤流,生成一个文件。,Stream,1.importjava.io.*;2.publicclassDataIODemo3.publicstaticvoidmain(Stringarg)4.tryDataOutputStreamout=newDataOutputStream(newFileOutputStream(text.txt);7.doubleprices=6.55,9.99,1.8,2.33,0.90;8.intunits=12,9,5,6,7;Stringdescs=chicken,beef,lettuce,potato,tomato;10.for(inti=0;iprices.length;i+)11.out.writeDouble(pricesi);out.writeChar(t);12.out.writeInt(unitsi);out.writeChar(t);13.out.writeChars(descsi);out.writeChar(n);14.15.out.close();16.catch(IOExceptione)17.18.,DataIODemo.java,35,例4:DataInputStream举例,这个例子使用DataInputStream过滤流。读取例3生成的文件。,Stream,1.importjava.io.*;2.publicclassDataIODemo23.publicstaticvoidmain(Stringarg)4.DataInputStreamin=null;5.try6.in=newDataInputStream(newFileInputStream(text.txt);7.doubleprice,total=0.0;8.intunit;charch;StringBufferdesc;9.while(true)10.price=in.readDouble();in.readChar();11.unit=in.readInt();in.readChar();12.desc=newStringBuffer(20);13.while(ch=in.readChar()!=n)14.desc.append(ch);15.total=price*unit;16.System.out.println(youordered:+desc17.+t+price+*+unit+=+total);18.19.,DataIODemo2.java,接上页20.catch(EOFExceptione)21.try22.in.close();23.catch(IOExceptione1)24.25.catch(IOExceptione)26.27.,DataIODemo2.java,38,作业,上机实践所讲的例题。,
展开阅读全文