全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
流是生产或消费信息的一种抽象描述,通过java的输入/输出系统与外部设备连接,并为所有的输入/输出提供统一、简单的操作方法。 输入流和输出流不是绝对不变的。对于一个文件而言,当向其中写入数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。对于键盘来说,只能是输入流;显示器则只能是一个输出流。 在io包中,还根据流中的数据类型不同,将流分为字节流类和字符流类。其中,字节流类专门负责处理以字节为传输单位的操作;而字符流类则专门负责处理以字符为传输单位的操作。 根据流的建立方式和工作原理,还将流类分为节点流和过滤流类。节点流类用于直接在输入输出媒介之上建立流,而过滤流类则用于对节点流类功能上的扩展,此时它必须先以某一个节点流对象作为流的来源,然后可以修改已经读出或写入的数据(包括加密和压缩的数据),甚至还可以简单地利用自身提供的附加方法将已经读出或者写入的数据转化成其他格式。 System.in是标准的输入流,默认情况下,它指的是键盘。System.out是标准的输出流,默认情况下,它指的是某一个控制台,如显示器。System.err指的是标准的错误流,它默认也是控制台。 File类在java中,它既可以代表一个特定文件,也可以代表目录内一系列文件的集合。当代表的是一个文件的集合时,便可以使用目录所特有的属性list()方法来查询这个集合,并列出当前集合中的文件名,该方法返回的是一个字符串数组。指定目录下的所有文件都列出来import java.io.*class ListAllFilespublic void listPath(File path)File files = path.listFiles();/获得当前目录对象下的所有文件for(int i=0;i0)File currentDir = (File)dirs.getFirst();File files = currentDir.listFiles();boolean emptyDir = true;for(int i=0;ifiles.length;i+)if(filesi.isFile()System.out.println(Deleting . +filesi.getAbsolutePath();tryfilesi.delete();catch(SecurityException e)e.printStackTrace();elsedirs.addFirst(Filesi);emptyDir = false;if(emptyDir)System.out.println(Deleting .+currentDir.getAbsolutionPath();trycurrentDir.delete();catch(SecurityException e)e.printStackTrace();dirs.removeFirst();else if(dir.isFile()System.out.println(Error:+dir.getName()+is a file);elseSystem.out.println(Error:+dir.getName()+is unknow);public static void main(String args)File dir = new File(args0);DeleteDir delDir = new DeleteDir(dir);=flush()方法仅用于支持缓冲区操作的输出流类,而fileOutputStream类是用于直接操作目标设备所对应的节点流类,因此该流类不支持flush()方法。直接操作目标设备的节点流类还有ByteArrayOutputStream。文本文件与二进制文件的区分:简单的办法就是把所有可以用于文本编辑器打开的文件都称为文本文件,如.txt,.bat,.ini文件等。这些文件中所有的字符都是可读的ASCII码字符。除了这些文件之外其他所有不能被文本编辑器正确打开的文件都是二进制文件。Word文件不能被文本编辑器打开,自然就是二进制文件。BufferInputStream类可以对任何的InputStream流进行带缓冲的封装以达到性能的改善。它的实现原理是,在已定义输入流上再定义一个具有缓冲的输入流,可以从此流中成批地读取字节,而不会每次都引起直接对数据源的读操作。数据输入时,首先被放入缓冲区,随后的读操作,就是对缓冲区中内容进行访问。BufferOutputStream类可以对任何的OutputStream流进行带缓冲的封装以达到性能的改善。这是因为,用户在缓冲输出流中写入字节时,不会每次都直接对数据宿进行写操作,而是当缓冲区已满或者清空流时,数据才写到数据宿上。BufferOutStream提供了一个flush()方法可以用来将缓冲区的数据强制输出到数据宿。可见,与缓冲区输入流不同的是,建立缓冲区输出流可以通过减少系统实际写数据的时间和次数来改善I/O性能。flush()方法并不是对所有的输出流都起作用,而是只对那些使用了缓冲区的输出流才有效。而且如果调用了close()方法,系统也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025境外派遣人力资源服务合同
- 西湖园林景观特色解析
- 平面构成logo设计运用
- 痛风常见症状及护理措施解析
- 度娘度娘做菜方法
- 乳制品营养与选购
- 彭城微课社团介绍
- 神经内科健康宣教
- 2025版慢性支气管炎常见症状与护理指南培训
- 2025河北工勤人员技师考试行政办事员训练题及答案
- 写字楼的租赁合同范本
- 2025年时事政治考试题库带解析附必背答案
- 2025广东东莞市寮步镇人民政府招聘专职安全员10人考前自测高频考点模拟试题及答案详解一套
- 2024石家庄市国企招聘考试真题及答案
- 远程机器人手术操作指南(2025版)
- 2025天津宏达投资控股有限公司及所属企业招聘工作人员笔试模拟试题及答案解析
- 2025年度北京市公务员录用考试行政职业能力测验试卷真题及答案
- 五年(2021-2025)高考地理真题分类汇编:专题12 交通(全国)(原卷版)
- 消防证考试题目及答案
- 麦肯锡思维培训
- 新能源汽车企业财务风险分析及防范研究-以北汽蓝谷为例
评论
0/150
提交评论