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

    Java程序 第20章 (IO)操作.ppt

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

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

    Java程序 第20章 (IO)操作.ppt

    第20章文件IO操作 File类 RandomAccessFile类 流类 字符编码 对象序列化20.1 File类 File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操纵文件,通过调用File类提供的各种方法,能够完成创建、删除文件,重命名文件,判断文件的读写权限及文件是否存在,设置和查询文件的最近修改时间等操作 【范例20-1】File方法的使用范例 20.2 RandomAccessFile类 RandomAccessFile类是Java语言中功能最为丰富的文件访问类,它提供了众多的文件访问方法,RandomAccessFile能以只读或读写方式打开文件,使用哪种方式取决于用户创建RandomAccessFile类对象的构造方法 new RandomAccessFile(f,rw);/读写方式 new RandomAccessFile(f,r);/只读方式 【范例20-2】员工信息类的使用范例20.3 流类20.3.1 字节流20.3.2 字符流20.3.3 管道流20.3.4 ByteArrayInputStream与 ByteArrayOutputStream20.3.5 System.in与System.out20.3.6 打印流20.3.7 DataInputStream与DataOutputStream20.3.8 合并流20.3.9 字节流与字符流的转换20.3.10 IO包中的类层次关系图20.3 流类 Java 的流式输入/输出建立在四个抽象类的基础上:InputStream,OutputStream,Reader和Writer,操作文件流时,不管是字节流还是字符流都可以按照以下的方式进行。使用File类找到一个文件 通过File类的对象去实例化字节流或字符流的子类 进行字节(字符)的读、写操作 关闭文件流20.3.1 字节流 1.InputStream(输入字节流)方法描述int available()返回当前可读的输入字节数void close()关闭输入流。关闭之后若再读取则会产生IOException异常void mark(int numBytes)在输入流的当前点放置一个标记。该流在读取N个Bytes字节前都保持有效boolean markSupported()如果调用的流支持mark()/reset()就返回true20.3.1 字节流 方法描述int read()如果下一个字节可读则返回一个整型,遇到文件尾时返回-1int read(byte buffer)试图读取buffer.length个字节到buffer中,并返回实际成功读取的字节数。遇到文件尾时返回-1int read(byte buffer,int offset,int numBytes)试图读取buffer中从bufferoffset开始的numBytes个字节,返回实际读取的字节数。遇到文件结尾时返回-1void reset()重新设置输入指针到先前设置的标志处long skip(long numBytes)忽略numBytes个输入字节,返回实际忽略的字节数20.3.1 字节流 2.OutputStream(输出字节流)方法描述void close()关闭输出流。关闭后的写操作会产生IOException异常void flush()定制输出状态以使每个缓冲器都被清除,也就是刷新输出缓冲区void write(int b)向输出流写入单个字节。注意参数是一个整型数,它允许设计者不必把参数转换成字节型就可以调用write()方法void write(byte buffer)向一个输出流写一个完整的字节数组void write(byte buffer,int offset,int numBytes)写数组buffer以bufferoffset为起点的numBytes个字节区域内的内容20.3.1 字节流 3.FileInputStream(文件输入流)FileInputStream 类创建一个能从文件读取字节的InputStream 类,它的两个常用的构造方法如下:FileInputStream(String filepath)FileInputStream(File fileObj)20.3.1 字节流 4.FileOutputStream(文件输出流)FileOutputStream 创建了一个可以向文件写入字节的类OutputStream,它常用的构造方法如下:FileOutputStream(String filePath)FileOutputStream(File fileObj)FileOutputStream(String filePath,boolean append)【范例20-3】向文件中写入字符串并读出20.3.2 字符流 1.Reader方法描述abstract void close()关闭输入源。进一步的读取将会产生IOException异常void mark(int numChars)在输入流的当前位置设立一个标志。该输入流在numChars个字符被读取之前有效boolean markSupported()该流支持mark()/reset()则返回trueint read()如果调用的输入流的下一个字符可读则返回一个整型。遇到文件尾时返回-120.3.2 字符流 方法描述int read(char buffer)试图读取buffer中的buffer.length个字符,返回实际成功读取的字符数。遇到文件尾返回-1abstract int read(char buffer,int offset,int numChars)试图读取buffer中从bufferoffset开始的numChars个字符,返回实际成功读取的字符数。遇到文件尾返回-1boolean ready()如果下一个输入请求不等待则返回true,否则返回falselong skip(long numChars)跳过numChars个输入字符,返回跳过的字符设置输入指针到先前设立的标志处数20.3.2 字符流 2.Writer方法描述abstract void close()关闭输出流。关闭后的写操作会产生IOException异常abstract void flush()定制输出状态以使每个缓冲器都被清除。也就是刷新输出缓冲void write(int ch)向输出流写入单个字符。注意参数是一个整型,它允许设计者不必把参数转换成字符型就可以调用write()方法void write(char buffer)向一个输出流写一个完整的字符数组20.3.2 字符流 方法描述abstract void write(char buffer,int offset,int numChars)向调用的输出流写入数组buffer 以bufferoffset 为起点的N个Chars区域内的内容void write(String str)向调用的输出流写strvoid write(String str,int offset,int numChars)写数组str中以制定的offset为起点的长度为numChars个字符区域内的内容20.3.2 字符流 3.FileReader FileReader类 创 建 了 一 个 可 以 读 取 文 件 内 容 的Reader类。它最常用的构造方法显示如下:FileReader(String filePath)FileReader(File fileObj)20.3.2 字符流 4.FileWriter FileWriter 创建一个可以写文件的Writer 类。它最常用的构造方法如下:FileWriter(String filePath)FileWriter(String filePath,boolean append)FileWriter(File fileObj)【范例20-4】字符流使用范例20.3.3 管道流 管道流主要作用是可以连接两个线程间的通信。管道 流 也 分 为 字 节 流(PipedInputStream、PipedOutputStream)与 字 符 流(PipedReader、PipedWriter)两种类型 【范例20-5】管道流使用范例20.3.4 ByteArrayInputStream与ByteArrayOutputStream ByteArrayInputStream是输入流的一种实现,它有两个构造方法,每个构造方法都需要一个字节数组来作为其数据源 ByteArrayInputStream(byte buf)ByteArrayInputStream(byte buf,int offse,int length)ByteArrayOutputStream()BuyteArrayoutputStream(int)【范例20-6】ByteArrayInputStream类使用范例20.3.5 System.in与System.out 为了支持标准输入输出设备,Java定义了两个特殊的流对象:System.in和System.out,System.in对应键盘,System.out对应显示器20.3.6 打印流 PrintStream类提供了一系列的print和println方法,PrintStream有下面几个构造方法:PrintStream(OutputStream out)PrintStream(OutputStream out,boolean auotflush)PrintStream(OutputStream out,boolean auotflush,String encoding)【范例20-7】PrintWriter类向屏幕输出信息范例 【范例20-8】PrintWriter向文件中输出信息范例20.3.7 DataInputStream与DataOutputStream DataInputStream与DataOutputStream提供了与平台无关的数据操作 【范例20-9】DataInputStream与DataOutputStream使用范例20.3.8 合并流 采用SequenceInputStream类,可以实现两个文件的合并操作 【范例20-10】使用合并流将两个文件合并20.3.9 字节流与字符流的转换 Java支持字节流和字符流,但有时需要字节流和字符 流 之 间 的 转 换,InputStreamReader和OutputStreamWriter,这两个类是字节流和字符流之间相互转换的类,InputStreamReader可以将一个字节流中的字节解码成字符,OuputStreamWriter将写入的字符编码成字节后写入一个字节流 【范例20-11】字符流的转换使用范例20.3.10 IO包中的类层次关系图 1.字节输入流(InputStream)20.3.10 IO包中的类层次关系图 1.字节输出流(OutputStream)20.3.10 IO包中的类层次关系图 3.字符输入流20.3.10 IO包中的类层次关系图 4.字符输出流20.4 字符编码 计算机里只有数字,字符与数字对应的编码固定下来后,这套编码规则被称为ASCII码 许多国家都把本地的字符集引入了计算机,扩展了计算机中字符的范围,中国大陆为每一个中文字符都指定了一个对应的数字,这套编码规则称为GBK 为了解决各个国家和地区使用自不同的本地化字符编码带来的不便,人们将全世界所有的符号进行了统一编码,称之为Unicode编码 20.4 字符编码 【范例20-12】字符编码使用范例1 【范例20-13】字符编码使用范例2 【范例20-14】字符编码使用范例3 【范例20-15】获得系统属性范例 20.5 对象序列化 对象序列化(在某些书中也叫串行化),是指将对象转换成二进制数据流的一种实现手段,通过将对象序列化,可以方便的实现对象的传输及保存 【范例20-16】对象序列化使用范例 【范例20-17】对象序列化使用范例2

    注意事项

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

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




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

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

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

    收起
    展开