关于java中的io流

说出常见的流及如何选择流?说出几个节点流和几个包装流~谢谢了,面试要用

第1个回答  2010-10-04
自己查API
第2个回答  2010-10-01
4、基本字节流类
4.1、FileInputStream和FileOutputStream
这两个节点流用来操纵磁盘文件。这些类的构造函数允许你指定它们所连接的文件。
要构造一个FileInputStream,所关联的文件必须存在而且是可读的。
如果你要构造一个FileOutputStream而输出文件已经存在,则它将被覆盖。
FileInputStream infile = new FileInputStream(”myfile.dat”);
FileOutputStream outfile = new FileOutputStream(”results.dat”);
4.1、 BufferInputStream和BufferOutputStream
这些是过滤器流,它们可以提高I/O操作的效率。
4.3、 PipedInputStream和PipedOutputStream
管道流用来在线程间进行通信。一个线程的PipedInputStream对象从另一个线程的PipedOutputStream对象读取输入。
要使管道流有用,必须有一个输入方和一个输出方。
4.4、 DataInputStream和DataOutputStream
这些过滤器通过流来读写Java基本类

5、 基本字符流类
图阐述了Reader和Writer字符流的体系结构。
5.1、InputStreamReader 和 OutputStreamWriter
用于字节流与字符流之间的转换接口。
当你构造一个InputStreamReader或OutputStreamWriter时,转换规则定义了16位Unicode和其它平台的特定表示之间的转换。
InputStreamReader从一个数据源读取字节,并自动将其转换成Unicode字符。
如果你特别声明,InputStreamReade会将字节流转换成其它种类的字符流。
OutputStreamWriter将字符的Unicode编码写到输出流,如果你的使用的不是Unicode字符,OutputStreamWriter会将你的字符编码转换成Unicode编码。
5.2.、缓冲读者和作者
因为在各种格式之间进行转换和其它I/O操作很类似,所以在处理大块数据时效率最高。
在InputStreamReader和OutputStreamWriter的结尾链接一个BufferedReader和BufferedWriter是一个好主意。
记住对BufferedWriter使用flush()方法。
5.3、 使用其它字符转换
如果你需要从一个非本地(例如,从连接到一个不同类型的机器的网络连接读取)的字符编码读取输入,
你可以象下面这个程序那样,使用显式的字符编码构造ir=new InputStreamReader(System.in, “8859_1〃);
注:如果你通过网络连接读取字符,就应该使用这种形式。
否则,你的程序会总是试图将所读取的字符当作本地表示来进行转换,而这并不总是正确的。ISO 8859-1是映射到ASCII的Latin-1编码模式。本回答被提问者采纳
第3个回答  2010-10-02
自己去查书

快速掌握java中的IO与NIO面试题
1. IO流简介Java的IO流分为字节流和字符流,按流向可分为输入流和输出流,按角色有节点流和处理流。节点流直接操作数据,处理流则在现有流上提供增强功能。IO流体系结构复杂,由40多个类组成,大部分源自4个抽象基类,通过后缀区分子类类型。2. Java IO原理I\/O技术关乎数据在设备间的传输,Java通过...

javaio流涉及到哪些设计模式
Java IO流涉及到的设计模式主要包括装饰器模式(Decorator Pattern)和适配器模式(Adapter Pattern)。1. 装饰器模式(Decorator Pattern):Java IO流中的装饰器模式主要体现在各种Stream类的设计中。装饰器模式是一种结构型设计模式,允许你动态地为对象添加行为。在Java IO中,你可以通过串联多个Stream对象,...

java中的io流有哪些
IO流的分类:(1)按照数据的流向:输入流、输出流 (2)按照流数据的格式:字符流、字节流 (3)按照流数据的包装过程:节点流(低级流)、处理流(高级流)最基本的几种进行简单介绍:•InputStream\/Reader: 所有的输入流的基类,前者是字节输入流,后者是字符输入流。•OutputStream\/Wr...

java io流中涉及到了哪些设计模式
Java IO流中涉及到了装饰器模式、工厂模式、单例模式、适配器模式。1、装饰器模式 Java IO流使用了装饰器模式,通过继承和实现抽象类或接口来扩展一个流的功能。例如,BufferedInputStream和BufferedOutputStream都是装饰器类,它们为InputStream和OutputStream添加了缓冲功能。2、工厂模式 Java IO流使用工厂模...

io流为什么要关闭,不关闭会有什么后果呢?
在项目开发过程中,文件读写操作时若不正确关闭IO流,可能会导致文件无法正常删除,且编译器会提示“Resource leak: 'xxxx' is never closed”。这个问题的根源在于读取文件的IO流未被正常关闭,导致文件一直被流持有,删除操作失败。那么,为什么IO流必须手动关闭呢?Java虚拟机的垃圾回收机制虽然能自动...

Java文件操作完为何要关闭流
在Java中使用IO流进行文件和网络读写操作,是数据输入输出的主要方法之一。然而,在操作完毕后,必须记得关闭这些流,否则可能造成资源泄漏和数据丢失,严重影响系统性能与稳定性。本文将深入探讨关闭IO流的重要性,分析不关闭所导致的影响,并提供一种推荐的IO流关闭写法。及时关闭IO流是释放系统资源、提高...

关于JAVA IO流
io流主要也就分两大类:一、字节流、字符流 二、输入流、输出流最基本的也就是FileInputStream\/FileOutputStream和InputStreamReader\/OutputStreamReader掌握这两种,其他也确实类似以下是看到别人总结的一些关于io流的,希望对你有帮助Java IO的一般使用原则:一、按数据来源(去向)分类:1、是文件:File...

用JAVA的IO流里的哪个类效率最高
Java的IO流类中,大部分的输入流和输出流都是成对存在的,即如果存在XXXInputStream,那么就存在XXXOutputStream,反之亦然。SequenceInputStream和StringBufferInputStream是特例,没有对应的SequenceOutputStream类和StringBufferOutputStream类,许多IO操作都可能会抛出IOException异常,比如read、write、close操作...

javaio流中涉及到了哪些设计模式
javaio流中涉及到的设计模式主要有适配器模式以及装饰者模式。装饰者模式:动态地将责任附加到对象上,若要扩展功能,装饰者模提供了比继承更有弹性的替代方案。通俗的解释:装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例...

java的io流中,什么时候应该在流关闭之前加flush,什么时候
了解 flush 在 Java 的 IO 流中的作用是关键。在 OutputStream 类中,flush 用于防止过频写入操作。BufferedOutputStream 类通过内部缓存区实现这一功能,数据通常不会立即写入磁盘,直到满足特定条件或调用 flush 方法时触发。强制执行 flush 方法能提前触发数据写入。在完成重要操作时,执行一次 flush 是...

相似回答