Java输入输出流

转载 2011年01月19日 13:20:00

http://blog.csdn.net/lbluedark/archive/2006/05/23/751096.aspx

流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样,如下图:

java.io 包是一组流类,分为:

字节流:抽象父类是 InputStreamOutputStream

字符流:抽象父类是 Reader Writer

1、 InputStream

InputStream 类的体系结构

FileInputStream 类:从实际磁盘文件读取数据

ByteArrayInputStream 类:在字节数组中执行读写操作

StringBufferInputStream 类:类似于 ByteArrayInputStream ,将字符串用作内部缓冲器

2 OutputStream

定义用于写入字节或字节数组的方法。

OutputStream 类的体系结构

FileOutputStream 类:创建文件(如果文件不存在),并将数据写入文件

ByteArrayOutputStream 类:在内存中创建缓冲器, toByteArray( ) toString( ) 方法用于数据检索

FilterOutputStream 类:高层输出流

 

File 类:提供定位本地文件系统、描述文件和目录的功能,是 java.io 包中引用实际磁盘文件的唯一对象。

 

      流类可以分为:

        底层流:包含以字节的形式读写的方法

       高层过滤器流:用于读写高层信息

   高层流要求底层流作为基础。

   FilterInputStream 类的子类包括:

   DataInputStream 类:提供读取任意对象的能力

   DataOutputStream 类:提供写入任意对象的能力

   BufferedInputStream 类:允许程序一次一个字节地从流读取数据

      BufferedOutputStream 类:允许程序一次一个字节地向流写入数据

   PrintStream 类:用于写入文本或基本类型

3 Reader

读取字符类型。

Reader 类的体系结构

FileReader :使读取字符文件成为可能

StringReader :读取字符串的字符

CharArrayReader :允许将字符数组用作输入

InputStreamReader :从输入流读取字节,并将它们转换成字符

FilterReader :允许读取过滤字符流

BufferedReader :接受 Reader 对象为参数,并对其添加字符缓冲器

4 Writer

写入字符类型。

Writer 类的体系结构

FileWriter :允许将字符类型数据写入文件

CharArrayWriter :允许将字符缓冲器用作输出流

PrintWriter :包含一些使生成格式化输出变得很简单的方法

FilterWriter :用于写入过滤字符流

BufferedWriter :将数据缓冲到字符输出流

 

BufferedReader :是 Reader 类的子类,为 Reader 对象添加字符缓冲器,为数据输入分配内存存储空间,存取数据更为有效。

Java输入输出流体系

Java输入输出流体系中常用的流分类
  • qq_28168421
  • qq_28168421
  • 2016年12月02日 09:45
  • 166

java中常见的输入输出流案例学习(一)

字节输入流: 1.FileInputStream 用途:从文件系统中的文件获得输入字节,常用于读取图像、声音等原始字节流,读取字符流可考虑使用FileReader 详细构造函数与常用方法可参考API文...
  • u012453619
  • u012453619
  • 2014年08月18日 00:16
  • 4345

java回忆录—输入输出流详细讲解(入门经典)

今天我们开始进入学习 java 中比较让人头疼的事, 那就是 I/O 流、多线程、网络编程。这里对 I/O 流的一个详细讲解。希望对大家有点用吧。(不看后悔哦)一、什么是IOJava中I/O操作主要...
  • qq_22063697
  • qq_22063697
  • 2016年08月07日 02:39
  • 8431

Java输入输出流总结

题目:把字符串"1,+,2,+,3,+,4,+,5,-,6,-,7,+,8,-,9"写入D盘,并且计算字符串的值,在控制台打印。 import java.io.File; import java.io...
  • tonehao1990
  • tonehao1990
  • 2015年06月08日 22:09
  • 651

JAVA-输入输出流相关的一些操作及用法详解

输入/输出(Input/Output)是指对某个设备或环境进行数据的输入或输出.任何语言都有输入输出的功能,在Java程序中,是通过流来完成输入和输出的,它通过Java输入输出系统连接到物理设备,虽然...
  • Jason763
  • Jason763
  • 2016年11月13日 11:33
  • 768

java输入输出流实例代码

1.编写一个程序,读取源代码文件的内容并在控制台输出。如果源文件不存在,则显示相应的错误信息。 package src; import java.io.File; import java.io.F...
  • xiaokang123456kao
  • xiaokang123456kao
  • 2016年12月22日 14:25
  • 2055

字节输入输出流之实现图片文件的复制

/* * 通过字节输入输出流实现图片文件的复制 * */package io;import java.io.FileInputStream; import java.io.FileNotFou...
  • qq_35622606
  • qq_35622606
  • 2017年08月30日 01:22
  • 236

输入输出流简单理解

输入流、输出流到底应该如何理解呢? 输入流:从中读取数据 输出流:从中写入数据 我们应该从内存的角度来进行分析,比如:内存到硬盘,只能讲内存中的数据输出到硬盘中,(数据从内存到硬盘)这就是输出流...
  • qq_32519097
  • qq_32519097
  • 2016年10月06日 19:23
  • 634

Java输入输出流和文件操作

文件和流操作系统中的文件和目录概念文件与文件系统文件是信息的一种组织形式,是存储在外部存储介质上的具有标志名的一组相关信息集合。 文件系统用文件概念来组织和管理存放在各种介质上的信息。文件系统提供目...
  • u011331383
  • u011331383
  • 2015年06月23日 14:46
  • 1708

java输入输出流总结

FileOutputStream1.向本地默认地址存储文件public void save(String filename, String content) throws Exception { ...
  • birdfly12345
  • birdfly12345
  • 2016年10月14日 15:17
  • 237
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java输入输出流
举报原因:
原因补充:

(最多只允许输入30个字)