Java中的IO浅析(一)

Java中的IO大致可以分为两类,字节流和字符流。字节流又可以分为字节输入流和字节输出流,字符流又可以分为字节输入流和字符输入流。下面我们看一下他们的体系结构(UML类图表示)。

字节输入流

字节输入流的UML类图如下所示:

字节输出流

字符输入流

字符输出流

IO大致总图:

在IO的体系结构中所有字节输入流的父类都是InputStream,所有字节输出流的父类都是OutputStream,所有字符输入流的父类都是Reader,所有字符输出流的父类都是Writer。现在大家对java中的IO应该有个大致的印象了,在接下来的文章中我会尽可能的介绍所有的流的作用。

时间: 2024-09-15 17:06:11

Java中的IO浅析(一)的相关文章

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

问题描述 java中的IO流使用情况 java中有很多读取和写入文件的操作 像FileWirter Writer Reader BufferWriter 等 我一直区分不清这几个的特点,有没有大神帮忙处理下,通常什么情况使用什么比较好.各有那些优点和缺点 解决方案 你可以上网搜索哦下,很多的 解决方案二: 有的有缓冲区,有的没有,有的没有:有的可以操纵字符文件,有的可以操纵字节文件,你可以按照这个进行分类 解决方案三: 这是我自己整理的,你可以参考下http://blog.csdn.net/ev

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

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

Java中的HashMap浅析

在Java的集合框架中,HashSet,HashMap是用的比较多的一种,顺序结构的ArrayList.LinkedList这种也比较多,而像那几个线程同步的容器就用的比较少,像Vector和HashTable,因为这两个线程同步的容器已经不被JDK推荐使用了,这是个比较老式的线程安全的容器,JDK比较推荐的是采用Collections里面的关于线程同步的方法. 问题来源: 1.为什么要有HashMap? <Thinking In Java>里面有一个自己采用二维数组实现的保存key-valu

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

说实话,其实我并不是很喜欢Java这门语言,尽管它很强大,有很多现成的API可以调用 但我总感觉它把简单的事情弄得太过复杂,甚至有时候会让人迷失 弄不清到底是为了写出东西,还是为了语言本身 我学习的第一门编程语言是Python,虽然学的不深 但是它的简单优雅至今令人难忘(呃,其实也就两年前的事--) 我接触的第二门语言是C,它给我的感觉是一种纯粹,一种高效的灵活 而不是类似java,写一堆含糊的代码来实现一个小小的功能 坦白讲,如果一个人在学习自己不感兴趣的东西,那会很累 支撑我的是,我对移动开

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(input与output)操作总结(二)_java

文件的操作 这一节我们来讨论关于文件自身的操作 不浪费唾沫了,用代码说话-- 实例1:创建文件对象 复制代码 代码如下: import java.io.File; public class Demo { public static void main(String[] args) { //创建要操作的文件路径和名称 //其中,File.separator表示系统相关的分隔符,Linux下为:/ Windows下为:\\ //path在此程序里面代表父目录,不包含子文件 String path =

java中的io笔记

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

java中的new BufferedReader(new InputStreamReader(System.in))

流 JAVA /IO 基本小结  通过一行常见的代码讨论:new BufferedReader(new InputStreamReader(System.in))   java的IO是基于流(stream)概念的,什么是流呢,作为初学者, 我是这样理解的,在各个应用之间传送的是BITS,这些BIT可已被认为是流体,可以就认为是水流,那么用来在各个水源之间转移水的工具应该选择什么呢?一般情况下,水管是可以的,所以数据我将数据源比作水源,将流对象比作水管 这样就有了对流的第一步认识,它再也不神秘了.

Java中IO流缓冲区的装饰模式的体现

一.Java中IO流缓冲区 import java.io.*; public class BufferedTest {public static void copy1(){InputStream is = null;OutputStream os = null;try{is = new FileInputStream("c:\\xy1.jpg");os = new FileOutputStream("d:\\xy2.jpg");int len = 0;byte[]