当前位置:编程学习 > JAVA >>

大侠介绍一下JavaIO吧

如题 --------------------编程问答-------------------- 。。。。。。。。。。。。。。。。。。
自己看API文档去 --------------------编程问答--------------------
引用 1 楼 yi_yuan 的回复:
。。。。。。。。。。。。。。。。。。
自己看API文档去

有道理,这个没有具体方面,不知从何讲起 --------------------编程问答-------------------- http://hacker-zxf.iteye.com/blog/266678

自己找找  --------------------编程问答-------------------- “对语言设计人员来说,创建好的输入/输出系统是一项特别困难的任务。”

由于存在大量不同的设计方案,所以该任务的困难性是很容易证明的。其中最大的挑战似乎是如何覆盖所有可能的因素。不仅有三种不同的种类的IO需要考虑(文件、控制台、网络连接),而且需要通过大量不同的方式与它们通信(顺序、随机访问、二进制、字符、按行、按字等等)。
Java库的设计者通过创建大量类来攻克这个难题。事实上,Java的IO系统采用了如此多的类,以致刚开始会产生不知从何处入手的感觉(具有讽刺意味的是,Java的IO设计初衷实际要求避免过多的类)。从Java 1.0升级到Java 1.1后,IO库的设计也发生了显著的变化。此时并非简单地用新库替换旧库,Sun的设计人员对原来的库进行了大手笔的扩展,添加了大量新的内容。因此,我们有时不得不混合使用新库与旧库,产生令人无奈的复杂代码。
本章将帮助大家理解标准Java库内的各种IO类,并学习如何使用它们。本章的第一部分将介绍“旧”的Java 1.0 IO流库,因为现在有大量代码仍在使用那个库。本章剩下的部分将为大家引入Java 1.1 IO库的一些新特性。注意若用Java 1.1编译器来编译本章第一部分介绍的部分代码,可能会得到一条“不建议使用该特性”(Deprecated feature)警告消息。代码仍然能够使用;编译器只是建议我们换用本章后面要讲述的一些新特性。但我们这样做是有价值的,因为可以更清楚地认识老方法与新方法之间的一些差异,从而加深我们的理解(并可顺利阅读为Java 1.0写的代码)。

10.1 输入和输出
可将Java库的IO类分割为输入与输出两个部分,这一点在用Web浏览器阅读联机Java类文档时便可知道。通过继承,从InputStream(输入流)衍生的所有类都拥有名为read()的基本方法,用于读取单个字节或者字节数组。类似地,从OutputStream衍生的所有类都拥有基本方法write(),用于写入单个字节或者字节数组。然而,我们通常不会用到这些方法;它们之所以存在,是因为更复杂的类可以利用它们,以便提供一个更有用的接口。因此,我们很少用单个类创建自己的系统对象。一般情况下,我们都是将多个对象重叠在一起,提供自己期望的功能。我们之所以感到Java的流库(Stream Library)异常复杂,正是由于为了创建单独一个结果流,却需要创建多个对象的缘故。
很有必要按照功能对类进行分类。库的设计者首先决定与输入有关的所有类都从InputStream继承,而与输出有关的所有类都从OutputStream继承。 --------------------编程问答-------------------- 别人给你讲的还不如自己研究的理解的深 --------------------编程问答-------------------- 收分 ~~查看API 走人~~ --------------------编程问答-------------------- 如果API看不懂,就找找别的资料,资料很多的~
Thinking in Java中也有介绍~ --------------------编程问答-------------------- think in java --------------------编程问答-------------------- 这个真不是一句话能说明白的,有时间还不如看看InputStream和OutputStream这两个类.
--------------------编程问答-------------------- 当初看马士兵的教材中的IO一块, 
还挺简单易懂的
推荐 --------------------编程问答-------------------- 还不如看我的Java nio学习笔记呢,哈哈。 --------------------编程问答--------------------
引用 11 楼 tsyj810883979 的回复:
还不如看我的Java nio学习笔记呢,哈哈。

借我看看? --------------------编程问答-------------------- 你这样问,还不如上网上找点这方面的资料看,比这样好多了。得自己慢慢研究,程序员要耐得住寂寞。。。。 --------------------编程问答-------------------- java.io 的描述

  通过数据流、序列化和文件系统提供系统输入和输出。


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

  Java把这些不同来源和目标的数据都统一抽象为数据流。Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。
  在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。
Java流的分类

  按流向分:
  输入流: 程序可以从中读取数据的流。
  输出流: 程序能向其中写入数据的流。
  按数据传输单位分:
  字节流: 以字节为单位传输数据的流
  字符流: 以字符为单位传输数据的流
  按功能分:
  节点流: 用于直接操作目标设备的流
  过滤流: 是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能。
java.io常用类

  JDK所提供的所有流类位于java.io包中,都分别继承自以下四种抽象流类。
  InputStream:继承自InputStream的流都是用于向程序中输入数据的,且数据单位都是字节(8位)。
  OutputSteam:继承自OutputStream的流都是程序用于向外输出数据的,且数据单位都是字节(8位)。
  Reader:继承自Reader的流都是用于向程序中输入数据的,且数据单位都是字符(16位)。
  Writer:继承自Writer的流都是程序用于向外输出数据的,且数据单位都是字符(16位)。 --------------------编程问答-------------------- 建议你去买本《核心JAVA》看看,里面很详细 --------------------编程问答-------------------- --------------------编程问答-------------------- 我的空间有 去看看 --------------------编程问答-------------------- 主要把管道搞清楚,以及常用的几个流,看看马士兵老师的视频是个不错的选择,那里面讲的很清楚,然后拿几个关于流的题练练!这样会在问题中掌握知识点!祝你好运,,,, --------------------编程问答--------------------
引用 12 楼 gavin_ts 的回复:
引用 11 楼 tsyj810883979 的回复:
还不如看我的Java nio学习笔记呢,哈哈。

借我看看?
CSDN博客里面有的。呵呵 --------------------编程问答-------------------- lz还是自己去找找吧,给你讲,一两句讲不清楚的。 --------------------编程问答--------------------
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,