欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    8+Java输入与输出.ppt

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

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

    8+Java输入与输出.ppt

    第八章第八章 Java输入与输出输入与输出第八章第八章 Java输入与输出输入与输出n8.1 输入与输出输入与输出v8.1.1JAVA的输入的输入/输出机制输出机制v8.1.2JAVA.IOn8.2 流的应用流的应用v8.2.1字节流字节流v8.2.2字符流字符流v8.2.3 过滤流过滤流v8.2.4对象流对象流n8.3 访问文件访问文件v8.3.1File对象对象v8.3.2随机访问文件随机访问文件8.1 输入与输出输入与输出8.1.1 JAVA的输入的输入/输出机制输出机制n1.输入与输出输入与输出n对外部设备的输入对外部设备的输入/输出、文件读写、网络读写及线输出、文件读写、网络读写及线程之间的数据通信操作。程之间的数据通信操作。n2.什么是流什么是流?n流是一种数据的源头和目的地之间的通信途径,流是一种数据的源头和目的地之间的通信途径,JAVA使用流使用流(stream)来执行输入输出功能。包括输来执行输入输出功能。包括输入流与输出流。入流与输出流。8.1.2JAVA.IOnJAVA.IO是系统提供的软件包之一,专门为应用程是系统提供的软件包之一,专门为应用程序提供处理序提供处理I/O操作的各种类。操作的各种类。JAVA.IOInputStreamFileOutputStreamRandomAccessFileWriterReaderJAVA.IO包中的流结构包中的流结构n1.InputStream和和OutputStreamn这两个类为字节流的输入和输出类,是所有面向字这两个类为字节流的输入和输出类,是所有面向字节的输入节的输入/输出流的父类。声明了多个用于字节输入输出流的父类。声明了多个用于字节输入和输出的方法,包括读取数据、写入数据、标记位和输出的方法,包括读取数据、写入数据、标记位置等。置等。n2.Reader和和Writen为字符流的输入和输出类,是所有面向字符的输入为字符流的输入和输出类,是所有面向字符的输入/输出流的父类。这两个类是以输出流的父类。这两个类是以Unicode字符为单位字符为单位进行读写的。进行读写的。8.1.2JAVA.IOn3.File和和RandomAccessFilen这两个类为对文件操作的类。这两个类为对文件操作的类。File类记载文件信息类记载文件信息并以顺序方式访问文件,并以顺序方式访问文件,RandomAccessFile类以类以随机方式访问文件。随机方式访问文件。8.1.2JAVA.IO 什么是流?什么是流?流(流(stream)是一组有序的数据序列。根据操作的)是一组有序的数据序列。根据操作的类型,分为输入流和输出流两种。输入流的指向称类型,分为输入流和输出流两种。输入流的指向称为源,程序从指向源的输入流中读取数据。当程序为源,程序从指向源的输入流中读取数据。当程序需要读取数据时,就会开启一个通向数据源的流,需要读取数据时,就会开启一个通向数据源的流,这个数据源可以是文件、内存或是网络连接。而输这个数据源可以是文件、内存或是网络连接。而输出流的指向是字节要去的目的地,程序通过向输出出流的指向是字节要去的目的地,程序通过向输出流中写入数据把信息传递到目的地。当程序需要写流中写入数据把信息传递到目的地。当程序需要写入数据时,就会开启一个通向目的地的流。入数据时,就会开启一个通向目的地的流。8.2流的应用流的应用n输入输出流的种类:输入输出流的种类:n字节输入流字节输入流n字节输出流字节输出流n字符输入流字符输入流n字符输出流字符输出流8.2流的应用流的应用n1.字节输入流字节输入流InputStreamn字节流是以字节为单位来处理数据的,由于字节流不会字节流是以字节为单位来处理数据的,由于字节流不会对数据做任何转换,因此用来处理二进制的数据。对数据做任何转换,因此用来处理二进制的数据。nInputStream类是字节输入流的抽象类,它是所有字节类是字节输入流的抽象类,它是所有字节输入流的父类,其各种子类实现了不同的数据输入流。输入流的父类,其各种子类实现了不同的数据输入流。n这些字节输入流的继承关系如下图所示。这些字节输入流的继承关系如下图所示。8.2.1字节流字节流8.2.1字节流字节流输入流输入流InputStream类的子类类的子类nInputStream中的常用方法:中的常用方法:方方 法法 名名 称称功功 能能 描描 述述available()返回当前返回当前输输入流的数据入流的数据读读取方法可以取方法可以读读取的有效字取的有效字节节数量数量int read(byte bytes)从从输输入数据流中入数据流中读读取字取字节节并存入数并存入数组组b b中中int read(byte bytes,int off,int len)从从输输入数据流入数据流读读取取lenlen个字个字节节,并存入数,并存入数组组bytesbytes中中void reset()将将读读取位置移到取位置移到标记处标记处void mark(int readlimit)在在输输入数据流中加入入数据流中加入标记标记long skip(long n)略略过过n n个字个字节节void close()关关闭闭当前当前输输入流,并入流,并释释放任何与之关放任何与之关联联的系的系统资统资源源Abasract read()从当前数据流中从当前数据流中读读取一个字取一个字节节。若已到达流。若已到达流结结尾,尾,则则返回返回-1-18.2.1字节流字节流n代码示例:从键盘输入一个字符代码示例:从键盘输入一个字符8.2.1字节流字节流import java.io.*;public class Test public static void main(String args)throws IOException char a;System.out.println(请输入任一字符请输入任一字符);a=(char)System.in.read();System.out.println(你输入的字符是你输入的字符是 +a);nInputStream是抽象类,是抽象类,并不能实例化,实际使用并不能实例化,实际使用中使用其子类,中使用其子类,FileInputStream类是类是InputStream类的子类。它实现了文件的读取,是文件字节输入类的子类。它实现了文件的读取,是文件字节输入流。该类适用于比较简单的文件读取,该类的所有流。该类适用于比较简单的文件读取,该类的所有方法都是从方法都是从InputStream类继承并重写的。创建文类继承并重写的。创建文件字节输入流常用的构造方法有两种:件字节输入流常用的构造方法有两种:nFileInputStream(String filePath)nFileInputStream(File file)8.2.1字节流字节流(1)FileInputStream(String filePath)该构造方法根据指定的文件名称和路径,创建FileInputStream类的实例对象。语法:filePath:文件的绝对路径或相对路径。new FileInputStream(filePath);8.2.1字节流字节流(2)FileInputStream(File file)该构造方法使用File类型的文件对象创建FileInputStream类的实例对象。语法:file:File文件类型的实例对象。new FileInputStream(file);8.2.1字节流字节流import java.io.*;public class Test public static void main(String args)throws IOException try FileInputStream fis=new FileInputStream(OpenFile.java);int n=512;byte buffer=new byten;while(fis.read(buffer,0,n)!=-1)&(n0)System.out.print(new String(buffer);System.out.println();fis.close();catch(IOException ioe)System.out.println(ioe);catch(Exception e)System.out.println(e);n2.字节输出流字节输出流OutputStreamvOutputStream类是字节输出流的抽象类,它是所有字节类是字节输出流的抽象类,它是所有字节输出流的父类,其子类实现了不同数据的输出流。继承输出流的父类,其子类实现了不同数据的输出流。继承关系如下图所示。关系如下图所示。8.2.1字节流字节流nOutputStream中的方法与中的方法与InputStream几乎一一对应:几乎一一对应:8.2.1字节流字节流方方 法法 名名 称称功功 能能 描描 述述void close关关闭输闭输入数据流入数据流void flush()强强制制输输出数据流的字出数据流的字节节到指定外部到指定外部设备设备void write(byte b)写入数据流字写入数据流字节节到指定数到指定数组组b b中中void write(byte b int off,int len)从数据流中写入从数据流中写入lenlen个字个字节节并放入指定数并放入指定数组组b b中中abstract void write(int b)写入一字写入一字节节到数据流到数据流n代码示例:标准输出的用法代码示例:标准输出的用法8.2.1字节流字节流import java.io.*;public class Test public static void main(String args)throws IOException char a=A;System.out.write(a);System.out.write(n);/该行不可省略该行不可省略 n同样,同样,OutputStream也是抽象类,也是抽象类,并不能实例化,并不能实例化,实际使用中使用其子类,实际使用中使用其子类,FileOutputStream类是类是OutputStream类的子类。它实现了文件的写入,类的子类。它实现了文件的写入,能够以字节形式写入文件中,该类的所有方法都是能够以字节形式写入文件中,该类的所有方法都是从从OutputStream类继承并重写的。创建文件字节类继承并重写的。创建文件字节输出流常用的构造方法有两种:输出流常用的构造方法有两种:nFileOutputStream(String filePath)nFileOutputStream(File file)8.2.1字节流字节流(1)FileOutputStream(String filePath)该构造方法根据指定的文件名称和路径,创建关联该文件的FileOutputStream类的实例对象。语法:filePath:文件的绝对路径或相对路径。new FileOutputStream(filePath);8.2.1字节流字节流(2)FileOutputStream(File file)该构造方法使用File类型的文件对象,创建与该文件关联的FileOutputStream类的实例对象。语法:file:File文件类型的实例对象。在file后面,加true会对原有内容进行追加,不加true会将原有内容覆盖。new FileOutputStream(file);8.2.1字节流字节流import java.io.*;public class Test public static void main(String args)throws IOException try System.out.print(Input:);int count,n=512;byte buffer=new byten;count=System.in.read(buffer);FileOutputStream fos=new FileOutputStream(write.txt);fos.write(buffer,0,count);fos.close();System.out.println(Save to write.txt);catch(IOException ioe)System.out.println(File write error:+ioe);8.2.1字节流字节流n字符流(字符流(charactercstreams)用于处理字符数据)用于处理字符数据的读取和写入,它以字符为单位。的读取和写入,它以字符为单位。nReader类和类和Writer类是字符流的抽象类,它们定义类是字符流的抽象类,它们定义了字符流读取和写入的基本方法,各个子类会依其了字符流读取和写入的基本方法,各个子类会依其特点实现或覆盖这些方法。特点实现或覆盖这些方法。8.2.2字符流字符流n1.Reader类类n帮助用户在帮助用户在Unicode流内获得字符数据。该类为抽象类,流内获得字符数据。该类为抽象类,所以实际使用其子类。直接继承自所以实际使用其子类。直接继承自Reader类的子类图类的子类图如下:如下:8.2.2字符流字符流ReaderBufferReaderCharArrayReaderFilterReaderInputStreamReaderPipedReaderStringReaderLineNumberReaderPushbackReaderFileReadernReader类是所有字符输入流的父类,它定义了操作字类是所有字符输入流的父类,它定义了操作字符输入流的各种方法。常用方法如下表所示。符输入流的各种方法。常用方法如下表所示。8.2.2字符流字符流方法名称方法名称功功 能能 描描 述述read()读读入一个字符。若已入一个字符。若已读读到流到流结结尾,尾,则则返回返回值为值为1 1read(char)读读取一些字符到取一些字符到charchar数数组组内,并返回所内,并返回所读读入的字符的入的字符的数量。若已到达流数量。若已到达流结结尾,尾,则则返回返回-1-1reset()将当前将当前输输入流重新定位到最后一次入流重新定位到最后一次调调用用mark()mark()方法方法时时的位置的位置skip(long n)跳跳过过参数参数n n指定的字符数量,并返回所跳指定的字符数量,并返回所跳过过字符的数量字符的数量close()关关闭该闭该流并流并释释放与之关放与之关联联的所有的所有资资源。在关源。在关闭该闭该流后,流后,再再调调用用 read()read()、ready()ready()、mark()mark()、reset()reset()或或 skip()skip()将抛出异常将抛出异常n(1)InputStreamReader类类nInputStreamReader 是字节流通向字符流的桥梁。是字节流通向字符流的桥梁。它可以根据指定的编码方式,将字节输入流转换为它可以根据指定的编码方式,将字节输入流转换为字符输入流。创建字符输入流常用的构造方法有两字符输入流。创建字符输入流常用的构造方法有两种:种:nInputStreamReader(InputStream in)nInputStreamReader(InputStream in,String cname)8.2.2字符流字符流InputStreamReader(InputStream in)该构造方法使用默认字符集创建InputStreamReader类的实例对象。语法如下:in:字节流类的实例对象。8.2.2字符流字符流new InputStreamReader(in);InputStreamReader(InputStream in,String cname)该构造方法使用已命名的字符编码方式创建InputStreamReader类的实例对象。语法如下:cname:使用的编码方式名。InputStreamReader类常用的方法如下表所示。new InputStreamReader(in,cname);8.2.2字符流字符流方方 法法 名名 称称功功 能能 描描 述述close()close()关关闭闭流流read()read()读读取取单单个字符个字符read(char cb,read(char cb,int off,int len)int off,int len)将字符将字符读读入数入数组组中的某一部分中的某一部分getEncoding()getEncoding()返回此流使用的字符返回此流使用的字符编码编码的名称的名称ready()ready()报报告此流是否已准告此流是否已准备读备读8.2.2字符流字符流n(2)FileReader类类nFileReader类是类是Reader类的子类,它实现了从文件类的子类,它实现了从文件中读出字符数据,是文件字符输入流。该类的所有中读出字符数据,是文件字符输入流。该类的所有方法都是从方法都是从Reader类中继承来的。类中继承来的。FileReader类的类的常用构造方法有两种常用构造方法有两种:nFileReader(String filePath)nFileReader(File file)8.2.2字符流字符流FileReader(String filePath)该构造方法根据指定的文件名称和路径,创建FileReader类的实例对象。语法如下:filePath:文件的绝对路径或相对路径。8.2.2字符流字符流new FileReader(filePath);FileReader(File file)该构造方法使用File类型的文件对象创建FileReader类的实例对象。语法如下:file:File文件类型的实例对象。new FileReader(file);8.2.2字符流字符流n例如,利用例如,利用FileReader读取文件读取文件“Example5-1.txt”的内容,的内容,输出到控制台上程序代码为:输出到控制台上程序代码为:try File f=new File(C:Example5-1.txt);FileReader fr=new FileReader(f char data=new char512;int rs=0;while(rs=fr.read(data)0)String str=new String(data,0,rs);System.out.println(str);catch(Exception e)e.printStackTrace();8.2.2字符流字符流(3)BufferedReader类类BufferedReader类是Reader类的子类,使用该类可以以行为单位读取数据。BufferedReader类的主要构造方法为:该构造方法使用Reader类的对象,创建一个BufferReader对象。语法如下:8.2.2字符流字符流new BufferedReader(in);BufferedReader(Reader in)nBufferedReader 类中提供了一个类中提供了一个ReaderLine()方法,方法,Reader类中没有此方法,该方法能够读取文本行。例如类中没有此方法,该方法能够读取文本行。例如:8.2.2字符流字符流FileReader fr;try fr=new FileReader(C:Example6.txt);BufferedReader br=new BufferedReader(fr);String aline;while(aline=br.readLine()!=null String str=new String(aline);fr.close();br.close();catch(Exception e)e.printStackTrace();n2.Writer类类nWriter类为字符输出的抽象基础类,可以利用其子类为字符输出的抽象基础类,可以利用其子类来完成种类型流的输出。直接继承自类来完成种类型流的输出。直接继承自Writer类的类的类如下图所示。类如下图所示。8.2.2字符流字符流WriterBufferWriterCharArrayWriterFilterWriterOutputStreamWriterPrintWriterStringWriterFileWriternWriter类是所有字符输出流的父类,它定义了操作输出类是所有字符输出流的父类,它定义了操作输出流的各种方法。常用方法如下表所示流的各种方法。常用方法如下表所示:方方 法法 名名 称称功功 能能 描描 述述write(int c)将字符将字符c c写入写入输输出流出流write(String str)将字符串将字符串strstr写入写入输输出流出流write(char cbuf)将字符数将字符数组组的数据写入到字符的数据写入到字符输输出流出流flush()刷新当前刷新当前输输出流,并出流,并强强制写入所有制写入所有缓缓冲的字冲的字节节数据数据close()向向输输出流写入出流写入缓缓冲区的数据,然后关冲区的数据,然后关闭闭当前当前输输出流,并出流,并释释放所有与当前放所有与当前输输出流有关的系出流有关的系统资统资源源8.2.2字符流字符流n(1)OutputStreamWriter nOutputStreamWriter 是字节流通向字符流的桥梁。是字节流通向字符流的桥梁。写出字节,并根据指定的编码方式,将之转换为字写出字节,并根据指定的编码方式,将之转换为字符流。创建字符输出流常用的构造方法有两种。符流。创建字符输出流常用的构造方法有两种。nOutputStreamWriter(OutputStream out)nOutputStreamWriter(OutputStream out,String cname)8.2.2字符流字符流OutputStreamWriter(OutputStream out)该构造方法使用默认字符集创建OutputStreamWriter类的实例对象。语法如下:out:字节流类的实例对象。8.2.2字符流字符流new OutputStreamReader(out);OutputStreamWriter(OutputStream out,String cname)该构造方法使用已命名的字符编码方式创建OutputStreamWriter类的实例对象。语法如下:cname:使用的编码方式名。new OutputStreamWriter(out,cname);8.2.2字符流字符流nOutputStreamReader类常用的方法如下表所示:类常用的方法如下表所示:方方 法法 名名 称称功功 能能 描描 述述close()关关闭闭流,但要先刷新流,但要先刷新flush()刷新流的刷新流的缓缓冲冲write(int char)写入写入单单个字符个字符write(String str,int off,int len)写入字符串的某一部分写入字符串的某一部分write(char cb,int off,int len)写入字符数写入字符数组组的某一部的某一部分分8.2.2字符流字符流n(2)FileWriter类类nFileWriter类是类是Writer类的子类,它实现了将字符数类的子类,它实现了将字符数据写入文件中,是文件字符输出流。该类的所有方据写入文件中,是文件字符输出流。该类的所有方法都是从法都是从Writer类中继承来的。类中继承来的。FileWriter类的常用类的常用构造方法有两种:构造方法有两种:nFileWriter(String filePath)nFileWriter(File file)8.2.2字符流字符流FileWriter(String filePath)该构造方法根据指定的文件名称和路径,创建关联该文件的FileWriter类的实例对象。语法如下:8.2.2字符流字符流new FileWriter(filePath);FileWriter(File file)该构造方法使用File类型的文件对象,创建与该文件关联的FileWriter类的实例对象。语法如下:8.2.2字符流字符流new FileWriter(file);例,例,“Example5-1.txt”的内容复制到文件的内容复制到文件“Example6.txt”中。具体代码为:中。具体代码为:try File f=new File(C:,Example6.txt);if(!f.exists()/如果文件不存在如果文件不存在 f.createNewFile();/创建新文件创建新文件 FileReader fr=new FileReader(C:Example5-1.txt);/FileWriter fWriter=new FileWriter(f);/int is;while(is=fr.read()!=-1)fWriter.write(is);/将数据写入输出流将数据写入输出流 fr.close();fWriter.close();catch(Exception e)e.printStackTrace();8.2.2字符流字符流n(3)BufferedWriter类类BufferedWriter类是Writer类的子类,该类可以以行为单位写入数据。BufferedWriter类常用的构造方法为:该构造方法使用Writer类的对象,来创建一个BufferWriter对象。语法如下:new BufferedReader(out);BufferedWriter(Writer out)8.2.2字符流字符流nBufferedWriter类提供了一个类提供了一个newLine()方法,方法,Writer类类中没有此方法。该方法是换行标记。例如中没有此方法。该方法是换行标记。例如:File file=new File(C:Example6.txt);FileWriter fos;try fos=new FileWriter(file,true);BufferedWriter bw=new BufferedWriter(fos);bw.write(Example);bw.newLine();bw.write(Example);bw.close();catch(IOException e)e.printStackTrace();8.2.2字符流字符流n(4)PrintWriter类类nPrintWriter是打印输出流,该流把是打印输出流,该流把Java语言的内构语言的内构类型以字符表示形式送到相应的输出流中,可以以类型以字符表示形式送到相应的输出流中,可以以文本的形式浏览。创建该打印输出流常用的构造方文本的形式浏览。创建该打印输出流常用的构造方法有两种。法有两种。nPrintWriter(Writer out)nPrintWriter(OutputStream out)8.2.2字符流字符流PrintWriter(Writer out)该构造方法使用Writer类的对象,创建一个PrintWriter对象。语法:new PrintWriter(out);8.2.2字符流字符流PrintWriter(OutputStream out)该构造方法使用OutputStream类的对象,创建一个PrintWriter对象。语法:new PrintWriter(out);8.2.2字符流字符流nPrintWriter类常用的方法如下表所示类常用的方法如下表所示:方方 法法 名名 称称功功 能能 描描 述述print(String str)print(String str)将字符串型数据写至将字符串型数据写至输输出流出流print(int i)print(int i)将整型数据写至将整型数据写至输输出流出流flush()flush()强强制性地将制性地将缓缓冲区中的数据写至冲区中的数据写至输输出流出流println(String str)println(String str)将字符串和将字符串和换换行符写至行符写至输输出流出流println(int i)println(int i)将整型数据和将整型数据和换换行符写至行符写至输输出流出流println()println()将将换换行符写至行符写至输输出流出流8.2.2字符流字符流n使用使用PrintWriter实现文件的复制执行过程为实现文件的复制执行过程为:File filein=new File(C:Example6.txt);File fileout=new File(C:Example7.txt);try BufferedReader br=new BufferedReader(new FileReader(filein);/创建一个创建一个PrintWiter对象对象 PrintWriter pw=new PrintWriter(new FileWriter(fileout);int b;/读出文件读出文件“Example6.txt”中的数据中的数据 while(b=br.read()!=-1)pw.println(b);/写入文件中写入文件中 br.close();/关闭流关闭流 pw.close();/关闭流关闭流 catch(Exception e)e.printStackTrace();n过滤器流(过滤器流(FilterStream)是为某种目的过滤字节或字)是为某种目的过滤字节或字符的数据流。基本输入流提供的读取方法,只能用来读符的数据流。基本输入流提供的读取方法,只能用来读取字节或字符。而过滤器流能够读取整数值、双精度值取字节或字符。而过滤器流能够读取整数值、双精度值或字符串。但需要一个过滤器类来包装输入流。或字符串。但需要一个过滤器类来包装输入流。nDataInputStream 和和DataOutputStream类分别是类分别是FilterInputStream和和FilterOutputStream类的子类。类的子类。它们分别实现了它们分别实现了DataInput和和DataOutput接口,该接口接口,该接口中定义了独立于具体机器的带格式的读写操作,从而可中定义了独立于具体机器的带格式的读写操作,从而可以实现对以实现对Java中的不同基本类型数据的读写。中的不同基本类型数据的读写。8.2.3过滤流过滤流n例,从文件中读取数例,从文件中读取数字字。可以先创建一个可以先创建一个FileInputStream类的对象,然后把该类传递给一类的对象,然后把该类传递给一个个DataInputStream的构造方法的构造方法。FileInputStream fis=new FileInputStream(Example.txt);DataInputStream dis=new DataInputStream(fis);double d=dis.readDouble();dis.close();8.2.3过滤流过滤流n再再例如,把数据写入文件。可以先创建一个例如,把数据写入文件。可以先创建一个FileOutputStream类的对象,然后把该类传递给一个类的对象,然后把该类传递给一个DataOutputStream的构造方法的构造方法。FileOutputStream fos=new FileOutputStream(Example.txt);DataOutputStream dos=new DataOutputStream(fos);dos.writeBytes(Example);dos.close();8.2.3过滤流过滤流n使用对象输入输出流实现对象序列化可以直接存取使用对象输入输出流实现对象序列化可以直接存取对象。对象。n将对象存入一个流称为序列化。而从一个流将对象将对象存入一个流称为序列化。而从一个流将对象读出称为反序列化。读出称为反序列化。8.2.4对象流对象流n1.ObjectInput与与ObjectOutputnObjectInput接口与接口与ObjectOutput接口分别继承了接口分别继承了DataInput接口和接口和DataOutput接口,提供了对基本接口,提供了对基本数据类型和对象序列化的方法。使用对象序列化功数据类型和对象序列化的方法。使用对象序列化功能可以非常方便地将对象写入输出流,或者从输入能可以非常方便地将对象写入输出流,或者从输入流读取对象。流读取对象。ObjectInput接口与接口与ObjectOutput接接口中定义的对象反序列化和序列化方法如下口中定义的对象反序列化和序列化方法如下。8.2.4对象流对象流(1)readObject()所谓反序列化就是从输入流中获取序列化的对象数所谓反序列化就是从输入流中获取序列化的对象数据,用这些数据生成新的据,用这些数据生成新的Java对象。该方法定义在对象。该方法定义在ObjectInput接口中,由接口中,由ObjectInputStream类实现类实现。语法如下语法如下:object:Java对象对象。注意:注意:使用使用readObject()方法获取的序列化对象是方法获取的序列化对象是Object类型类型的,必须通过强行类型转换才能使用。的,必须通过强行类型转换才能使用。Object object=readObject()8.2.4对象流对象流(2)writeObject()序列化就是将对象写入到输出流,这个输出流可以是序列化就是将对象写入到输出流,这个输出流可以是文件输出流、网络输出流以及其他数据输出流。该文件输出流、网络输出流以及其他数据输出流。该方法定义在方法定义在ObjectOutput接口中,由接口中,由ObjectOutputStream类实现类实现。语法语法:object:将要序列化的对象:将要序列化的对象。注意:注意:被序列化的对象必须实现被序列化的对象必须实现java.io.Serializable接口,否则不能实现序接口,否则不能实现序列化。列化。writeObject(object);8.2.4对象流对象流n2.ObjectInputStream与与ObjectOutputStream Java提供了ObjectInputStream和ObjectOutputStream类读取和保存对象,它们分别是对象输入流和对象输出流。ObjectInputStream类和ObjectOutputStream类是InputStream类和OutputStream类的子类,继承了它们所有的方法。n创建ObjectInputStream 类的构造方法为:n当准备从读取一个对象到程序中时,可以用ObjectInputStream类创建对象输入流。语法如下:ObjectInputStream(InputStream in)new ObjectInputStream(in);8.2.4对象流对象流nObjectInputStream类读取基本数据类型的方法为类读取基本数据类型的方法为:n对象输入流使用该方法读取一个对象到程序中。例如对象输入流使用该方法读取一个对象到程序中。例如:n创建创建ObjectOutputStream类的构造方法为类的构造方法为:readObject()FileInputStream fis=new FileInputStream(Example.txt);ObjectInputStream ois=new ObjectInputStream(fis);ois.readObject();ois.close();ObjectOutputStream(OutputStream out)8.2.4对象流对象流n当准备将一个对象写入到输出流(即序列化),可以用当准备将一个对象写入到输出流(即序列化),可以用ObjectOutputStream类创建对象输出流。语法如下类创建对象输出流。语法如下:nObjectOutputStream类写入基本数据类型方法为类写入基本数据类型方法为:n对象输出流使用该方法将对象写入到文件中。例如对象输出

    注意事项

    本文(8+Java输入与输出.ppt)为本站会员(hyn****60)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开