输入输出流学习完本章后,你应该知道并掌握文件原理分类操作步骤.doc

输入输出流学习完本章后,你应该知道并掌握文件原理分类操作步骤.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
输入输出流学习完本章后,你应该知道并掌握文件原理分类操作步骤.doc

输入输出流 学习完本章后,你应该知道并掌握: 文件 原理 分类 操作步骤 输入字节流 输出字节流 输入字符流 输出字符流 对象序列化 随机文件访问类 概述 我们常面临这样的情况:需要从文件中读取数据到程序中,把程序中的数据写入到指定的文件中;从互联网读取一个网页的HTML数据到程序中(不是通过浏览器),通过程序向服务器提交数据(不是通过浏览器),等等。 任务分析 要完成诸如文件的读写、网络的读写、内存的读写操作,可通过java.io包下提供的相关输入输出流类来完成。 时间:15课时 相关知识 输入流就是把数据(文件、键盘输入、其他输入设备)读到你的程序中; 输出流是把你程序中的数据输出到外设或文件中 工作任务 文件 Java中的文件类只提供对文件属性的封装,而没有提供对文件的读写操作,如果要达到对 文件的读写操作,要通过后续的文件管道进行 表10.4.1 File类方法 方法说明boolean createNewFile()创建新文件boolean delete()删除文件boolean mkdir()创建一个目录String[] list()返回文件夹下的所有文件名File[] listFiles()返回文件夹下的所有文件boolean isDirectory()判断是否为目录String getName()返回文件名String getPath()返回完整的路径和文件的完整名称long length()返回文件大小,和文件编码有关static File createTempFile(String prefix, String suffix)有时不知道具体路径的情况下,可以在系统的临时文件夹下创建一个临时文件 原理 图10.4.2流工作原理 从上图可以看出建立到源头或目的地的管道,然后就可以管道中读取数据进行操作。 图10.4.2流工作原理 分类 图10.4.3 字节流 图10.4.3 字符流 操作步骤 选择管道 IO管道比较多,首先你要明确从哪儿读取数据或者要把数据写到哪儿去,然后确定一种适当类型的管道,就象我们要建立从家里到自来水厂的管道,是用胶管子、铁管子、钢管子、竹管子,还是什么管子比较适当解决这样的问题。 创建管道 管道类型一旦选定,接下来就是创建管道,调用类型的构造方法创建一根管道,所以你必须了解如果创建这种管道,就是要掌握它的构造方法。 读写操作 管道建立好后,就可以通过管道来读写数据了,对于输入型管道从管道中读取数据,对于输出型管道向管道中写入数据。 关闭管道 管道用完后,需要关闭管道,以释放到和管道相关的系统资源。 输入字节流 InputStream InputStream是所有输入字节流的父类,用于从管道中按字节读取数据,在读取数据过程中有可能会发生阻塞,在到达管道末尾时返回-1,程序中常以此作为判断数据是否读完的依据。 表10.4.5 InputStream方法说明 方法说明abstract int read()从管道中读取1个字节的数据并返回int read(byte b[])从管道中读取b.length长度的数据填充数组b中(下标从0开始的位置),返回实际读到的数据长度int read(byte b[], int off, int len)从管道中读取指定长度(len)的数据填充数组b中(下标从off开始的位置),返回实际读到的数据长度long skip(long n)跳过指定的长度int available()返回有效长度void close()关闭管道,释放和管道相联的资源void mark(int readlimit)标记void reset()重置boolean markSupported()返回是否支持标记(支持true、不支持false)ByteArrayInputStream ByteArrayInputStream是内存输入流,建立指向内存的输入流管道,从中读取数据到程序中,可以这样来理解:一旦建立管道,数据就会从源头将管道填满,而管道中有一指针,开始时指针位于管道的最左端没有指向任何数据,当调用read、skip等方法时,指针就会移动指向数据,直到指针没有办法移动,这时到达了管道的末尾。 String data = abcdefghi; ByteArrayInputStream bis = new ByteArrayInputStream(data.getBytes()); bis.read();//移动1个指针位、返回1个字节数据 bis.skip(4);//移动3个指针位 bis.mark(0);//做标记,

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档