io流-java中的IO流使用情况

问题描述

java中的IO流使用情况

java中有很多读取和写入文件的操作 像FileWirter Writer Reader BufferWriter 等 我一直区分不清这几个的特点,有没有大神帮忙处理下,通常什么情况使用什么比较好。各有那些优点和缺点

解决方案

你可以上网搜索哦下,很多的

解决方案二:

有的有缓冲区,有的没有,有的没有;有的可以操纵字符文件,有的可以操纵字节文件,你可以按照这个进行分类

解决方案三:

这是我自己整理的,你可以参考下
http://blog.csdn.net/evankaka/article/details/48225085

解决方案四:

最简单的解决办法是去看JavaAPI

解决方案五:

Writer是个抽象类,不直接使用,不用理会。
FileWirter是jdk提供的便捷类,使用默认缓冲区大小(8K字符),操作字符流(字符或字符串)。
BufferWriter 与FileWirter相比,可以自定义缓冲区大小。
Reader同理。

Java常用的文件操作类在命名上有这么几个特点(以输出为例,输入同理)
1.两大分支:
(1)有Wirter的,都是操作字符流的,都是Wirter的子类。
(2)有OutputStream的,都是操作字节流的,都是OutputStream的子类。(OutputStreamWriter除外,以第1点优先)

2.有File的,是文件与各种文件操作类的衔接类。都是可以通过File对象或文件路径构建其实例,并且都是可以指定写模式(追加或覆写)。
(1)FileWriter是文件与Wirter类的衔接类
(2)FileOutputStream是文件与OutputStream类的衔接类

3.有Buffer的都是可以自定义缓冲区大小的。
(1)BufferedWriter是Buffer类与Wirter类的衔接类
(2)BufferedOutputStream是Buffer类与OutputStream类的衔接类

4.想指定编码(例如utf-8),必须用OutputStreamWriter,这是字节流与字符流的衔接类。

5.想以行为单位操作文件内容,必须使用BufferedWriter。

要想使用它们的所有特性,需要使用衔接类来嵌套以配合使用。

如你已经知道了文件名,有以下几个实例构建方案。
1.文件名→FileWriter→BufferedWriter 功能:可指定写模式,可指定缓冲区(默认8k字符),操作字符流
2.文件名→FileOutputStream→BufferedOutputStream 功能:可指定写模式,可指定缓冲区(默认8k字节),操作字节流
3.文件名→FileOutputStream→OutputStreamWriter→BufferedWriter 功能:可指定写模式,可指定编码,可指定缓冲区,操作字符流
ps:操作字节无需指定编码

时间: 2024-10-02 06:59:56

io流-java中的IO流使用情况的相关文章

举例讲解Java中的Stream流概念_java

1.基本的输入流和输出流 流是 Java 中最重要的基本概念之一.文件读写.网络收发.进程通信,几乎所有需要输入输出的地方,都要用到流. 流是做什么用的呢?就是做输入输出用的.为什么输入输出要用"流"这种方式呢?因为程序输入输出的基本单位是字节,输入就是获取一串字节,输出就是发送一串字节.但是很多情况下,程序不可能接收所有的字节之后再进行处理,而是接收一点处理一点.比方你下载魔兽世界,不可能全部下载到内存里再保存到硬盘上,而是下载一点就保存一点.这时,流这种方式就非常适合. 在 Jav

Java中的IO浅析(一)

Java中的IO大致可以分为两类,字节流和字符流.字节流又可以分为字节输入流和字节输出流,字符流又可以分为字节输入流和字符输入流.下面我们看一下他们的体系结构(UML类图表示). 字节输入流 字节输入流的UML类图如下所示: 字节输出流 字符输入流 字符输出流 IO大致总图: 在IO的体系结构中所有字节输入流的父类都是InputStream,所有字节输出流的父类都是OutputStream,所有字符输入流的父类都是Reader,所有字符输出流的父类都是Writer.现在大家对java中的IO应该

java中的Io(input与output)操作总结(一)_java

所谓IO,也就是Input与Output的缩写.在java中,IO涉及的范围比较大,这里主要讨论针对文件内容的读写 其他知识点将放置后续章节(我想,文章太长了,谁都没耐心翻到最后) 对于文件内容的操作主要分为两大类 分别是: 字符流 字节流 其中,字符流有两个抽象类:Writer Reader 其对应子类FileWriter和FileReader可实现文件的读写操作 BufferedWriter和BufferedReader能够提供缓冲区功能,用以提高效率 同样,字节流也有两个抽象类:Input

java中的类,通常情况下我看到都是用public 修饰的,什么情况下用private修饰呢?

问题描述 java中的类,通常情况下我看到都是用public 修饰的,什么情况下用private修饰呢? java中的类,通常情况下我看到都是用public 修饰的,什么情况下用private修饰呢,为什么用private修饰,求解答,谢谢 解决方案 一般domain.DTO/VO对象,的字段都是private,要访问它们通过get/set方法 解决方案二: 这个根据你所建的类有关,一般封装数据的时候必将会用private来修饰,或者修饰一些权限较低的变量 解决方案三: public:公有的.公

io流-Java中OutputStreamWriter和BufferedWriter的缓冲区有什么区别?

问题描述 Java中OutputStreamWriter和BufferedWriter的缓冲区有什么区别? 经过试验,OutputStreamWriter在写文件的时候是有缓冲区的,这个缓冲区和BufferedWriter类的缓冲区在使用上有什么区别?(除了WriterLine这点区别) 也就是说,实际上BufferedWriter类和BufferedReader类都有两层缓冲区,这两层缓冲区的作用分别是什么呢? 先谢过各位大神了! 解决方案 首先OutputStreamWriter和Buffe

Java中的stream流的概念解析及实际运用总结_java

流是字节序列的抽象概念. 文件是数据的静态存储形式,而流是指数据传输时的形态. 流类分为两个大类:节点流类和过滤流类(也叫处理流类). 程序用于直接操作目标设备所对应的类叫节点流类,程序也可以通过一个间接流类去调用节点流类,以达到更加灵活方便地读取各种类型的数据,这个间接流类就是过滤流类(也叫处理流类),或者称为包装类. 包装类的调用过程如下图: 流分类的关系不管流的分类是多么的丰富和复杂,其根源来自于四个基本的类.这个四个类的关系如下: 字节流 字符流 输入流 InputStream Read

java中的Io(input与output)操作总结(四)_java

前面已经把java io的主要操作讲完了 这一节我们来说说关于java io的其他内容 Serializable序列化 实例1:对象的序列化 复制代码 代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.Serializable; @SuppressWarnings("ser

java中的io笔记

Java流在处理上分为字符流和字节流.字符流处理的单元为2个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组. Java内用Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和java内Unicode字符流之间的转换.而类 InputStreamReader和OutputStreamWriter处理字符流和字节流的转换.字符流(一次可以处理一个缓冲 区)一次操作比字节流(一次一个字节)效率高. ( 一 )以字节为导向

asp文件流-ASP中怎么使用流来保存网络数据

问题描述 ASP中怎么使用流来保存网络数据 这里有一个网址是动态生成二维码图片的:http://wx.yseasy.com/erweima_1.asp?val=yyy 现在想用Asp将这个网页中的二维码图片保存到服务器上,不知道该如何操作 解决方案 看看这个能不能帮到你http://bbs.csdn.net/topics/350029599