Java第八章输入输出流.ppt
《Java第八章输入输出流.ppt》由会员分享,可在线阅读,更多相关《Java第八章输入输出流.ppt(57页珍藏版)》请在三一办公上搜索。
1、第8章 输入输出数据流,南京农业大学谢忠红,输入输出数据流,(1)数据流的基本概念(2)java.io包中的输入输出流的基类(3)基本输入输出流的子类-文件流-缓冲输入输出流(4)IOException异常类的子类(5)随机存取文件(6)输入输出流的高级应用管道流和数据流,(1)数据流的基本概念,什么是数据流?,文件,终端,文件,网络端点,数据流,起点,终点,网络端点,程序的内存区,键盘,数据流是指所有的数据通信通道包括输入流和输出流。,public final class System extends Object static PrintStream err;/标准错误流(输出)stati
2、c InputStream in;/标准输入(键盘输入流)static PrintStream out;/标准输出流(显示器输出流),Java的标准的数据流,注意:(1)System类不能创建对象,只能直接使用它的三个静态成员。(2)每当main方法被执行时,就自动生成上述三个对象。,System.err把错误信息送到缺省的显示,System.out:把输出送到缺省的显示(通常是显示器),Void print(参数)Void println(参数),System.in从标准输入获取输入(通常是键盘)int read()/返回ASCII码。若,返回值=-1,说明没有读取到任何字节读取工作结束。i
3、nt read(byte b)/读入多个字节到缓冲区b中返回值是读入的字节数,import java.io.*;class TestKeyRead public static void main(String args)int b;try while(b=System.in.read()!=-1)System.out.print(char)b);catch(IOException e)System.out.println(e.toString();,标准输入流System.in.read(),byte buffer=new byte512;System.out.println(please I
4、nput:);int count=System.in.read(buffer);System.out.println(Output:);for(int i=0;icount;i+)(“+bufferi);System.out.println();for(int i=0;icount;i+)System.out.print(char)bufferi);String s=new String(buffer);System.out.println(s);System.out.println(count);,标准输入流System.in.read(byte b),程序输出:,(2)java.io包中的
5、输入输出流的基类,输出流:将程序中的数据输出到外界(显示器、打印机、文件、网络)的通信通道。输出流的基本类:OutputStream,输入流:将数据从外界(键盘、文件、网络)读入到程序的通信通道.输入流的基类:InputStream,InputStream 及 其子类,InputStream,FileInputStream,PipedIntputStream,FilterInputStream,ByteArrayInputStream,DataInputStream,BufferedInputStream,LineNumberInputStream,SequencedInputStream,S
6、tringBufferInputStream,PushbackInputStream,抽象类 InputStream,InputStream类的常见方法:int read():读一个byte类型数,返回读入字节。若返 回值=-1,说明没有读取到任何字节读取工作结束 int read(byte b):读多个字节到数组b中 int read(byte b,int off,int len);从输入流中读取 len个字节放入数组b中,起始位置offavailable():返回输入流中可以读取的字节数 close():关闭流,OutputStream及其子类,OutputStream,FileOutpu
7、tStream,PipeOutputStream,FilterOutputStream,ByteArrayOutputStream,DataOutputStream,BufferedOutputStream,PrintStream,抽象类OutputStream,OutputStream类的常见方法:void write(int b):将一个整数输出到流中void write(byte b):将数组中的数据输出到流中。void write(byte b,int off,int len):将数组b中从off指定的位置开始len长度的数据输出到流中close():关闭流.注意:上述各方法都有可能引
8、起异常。,(3)基本输入输出流的子类 文件流,file1.txt,file2.txt,FileInputStream,FileOutputStream,通 信 通 道,内存,举例:利用程序,将文件file1.txt 拷贝到file2.txt中。注意:要捕获文件异常,内存,涉及到三个问题(1)怎样表示文件?文件类(2)怎样实现文件的输入?文件输入流(3)怎样实现文件的输出?文件输出流,文件类File类(io包)作用:File类主要用于命名文件、查询文件属性和处理文件目录。public class File extends Object implements Serializable,Compar
9、able,构造函数File(String pathname)File(String parent,String child)File(File parent,String child),例:File f1=new File(FileTest1.txt);/创建文件对象f1,f1所指的文件是在当前目录下创建的FileTest1.txt 例:File f2=new File(“D:dir1,FileTest2.txt);/注意:D:dir1目录事先必须存在,否则异常 例:File f4=new File(dir3);File f5=new File(f4,FileTest5.txt);/在如果 d
10、ir3目录不存在使用f4.mkdir()先创建,public class FileTestExppublic static void main(String args)throws IOException File dir=new File(root);File f1=new File(dir,fileOne.txt);File f2=new File(dir,fileTwo.java);/文件对象创建后,指定的文件或目录不一定物理上存在 if(!dir.exists()dir.mkdir();if(!f1.exists()f1.createNewFile();if(!f2.exists()f
11、2.createNewFile();,说明:File类的方法:(1)exists()测试磁盘中指定的文件或目录是否存在(2)mkdir()创建文件对象指定的目录(单层目录)(3)createNewFile()创建文件对象指定的文件,System.out.println(f1s AbsolutePath=+f1.getAbsolutePath();System.out.println(f1 Canread=+f1.canRead();System.out.println(f1s len=+f1.length();String FL;int count=0;FL=dir.list();for(in
12、t i=0;iFL.length;i+)count+;System.out.println(FLi+is in root);System.out.println(there are+count+file in/root);,说明:File类的方法:(4)list()返回目录中所有文件名字符串,返回,文件输入流:FileInputStream类,作用:以文件作为数据输入源的数据流。或者说是打开文件,从文件读数据到内存的类。,使用方法(1)File fin=new File(d:/abc.txt);FileInputStream in=new FileInputStream(fin);使用方法(2
13、)FileInputStream in=new FileInputStream(“d:/abc.txt”);,输入源的文件名,程序举例:将InputFromFile.java的程序的内容显示在显示器上,显示器,标准输出流,try FileInputStream rf=new FileInputStream(InputFromFile.java);int n=512;byte buffer=new byten;while(rf.read(buffer,0,n)!=-1),返回,文件输出流:FileOutputStream类,d:/myjava/write.txt,FileOutputStream
14、,内存,FileoutputStream类作用:用来处理以文件作为数据输出目的数据流;或者说是从内存区读数据入文件,使用方法(1)File f=new File(“d:/myjava/write.txt);FileOutputStream out=new FileOutputStream(f);使用方法(2)FileOutputStream out=new FileOutputStream(“d:/myjava/write.txt);,数据写入的文件名,程序举例:使用键盘输入一段文章,将文章保存在文件write.txt中,Write.txt,FileoutputStream,try Syste
15、m.out.println(please Input from Keyboard);int count,n=512;byte buffer=new byten;count=System.in.read(buffer);FileOutputStream wf=new FileOutputStream(d:/myjava/write.txt);wf.write(buffer,0,count);wf.close();/当流写操作结束时,调用close方法关闭流。System.out.println(Save to the write.txt);catch(IOException IOe)System
16、.out.println(File Write Error!);,FileInputStream流和FileOutputStream的应用,例:利用程序将文件file1.txt 拷贝到file2.txt中。注意:要捕获文件异常,内存,程序设计:创建一个copy.java文件,并在该文件中实现将copy.java的内容拷贝到copy2.java中,class copy public static void main(String args)try File inFile=new File(“copy.java);File outFile=new File(“copy2.java);FileInp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 第八 输入输出

链接地址:https://www.31ppt.com/p-6510082.html