java中的流是什么?

 我来答
百度网友1fcf34c73
2015-11-09 · TA获得超过865个赞
知道小有建树答主
回答量:400
采纳率:100%
帮助的人:455万
展开全部
  流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。设备可以是文件,网络,内存等。

  流具有方向性,至于是输入流还是输出流则是一个相对的概念,一般以程序为参考,如果数据的流向是程序至设备,我们成为输出流,反之我们称为输入流。

  可以将流想象成一个“水流管道”,水流就在这管道中形成了,自然就出现了方向的概念。
  当程序需要从某个数据源读入数据的时候,就会开启一个输入流,数据源可以是文件、内存或网络等等。相反地,需要写出数据到某个数据源目的地的时候,也会开启一个输出流,这个数据源目的地也可以是文件、内存或网络等等。

  可以从不同的角度对流进行分类:

  1. 处理的数据单位不同,可分为:字符流,字节流

  2.数据流方向不同,可分为:输入流,输出流

  3.功能不同,可分为:节点流,处理流

  1. 和 2. 都比较好理解,对于根据功能分类的,可以这么理解:

  节点流:节点流从一个特定的数据源读写数据。即节点流是直接操作文件,网络等的流,例如FileInputStream和FileOutputStream,他们直接从文件中读取或往文件中写入字节流。

  处理流:“连接”在已存在的流(节点流或处理流)之上通过对数据的处理为程序提供更为强大的读写功能。过滤流是
使用一个已经存在的输入流或输出流连接创建的,过滤流就是对节点流进行一系列的包装。例如BufferedInputStream和
BufferedOutputStream,使用已经存在的节点流来构造,提供带缓冲的读写,提高了读写的效率,以及DataInputStream和
DataOutputStream,使用已经存在的节点流来构造,提供了读写Java中的基本数据类型的功能。他们都属于过滤流。

  来源:
  http://www.cnblogs.com/shitouer/archive/2012/12/19/2823641.html
匿名用户
2014-12-29
展开全部
IO流就相当与我们日常生活中的管道,我们通过管道来把水引到用户,通过管道把石油输送到大罐.同样,我们利用流来从硬盘的文件中读数据到你的程序中,利用流来写数据到硬盘的文件
文件流 缓冲流 数据流 转换流 Print流 Object流正是为了实现这些功能的不同的类,他们具体包含了实现这些功能的方法
但如果每次都要从硬盘读取一个字节数据或写1个字节数据到硬盘,那就对硬盘损害太大了,比如电驴就损害硬盘.
解决办法:在内存中建立一个缓冲区(buffer),读一次硬盘就把缓冲区装满,然后你就可以从缓冲区读取数据,写数据的时候,先在内存中把数据写到缓冲区,写满,然后把数据一次性地从缓冲区写到硬盘.这样对硬盘的访问次数大大减少了.
缓存要交换的数据:就是读数据的时候把数据一次性读到缓冲区和写数据的时候先把数据写到缓冲区的意思
buffer是在内存中是通过字节数组实现的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一道_四狼_雨痕
2015-01-09 · TA获得超过569个赞
知道小有建树答主
回答量:736
采纳率:18%
帮助的人:169万
展开全部
我给你打个比方你就明白了;比如你家的水龙头的管道就是一个流:流又分为输入输出流,输入流就是你家水龙头抽水库水的那头,输出流就是你家水龙头流到你家大水缸的那头。现在有个A.txt文件,你要读取里面的信息,就相当于水龙头抽水库水,然后读取完后写入到另一个文件里面,就是相当于水龙头抽到水后流到大水缸。很简单吧,就是一进一出的事,没这么复杂。别太官方了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无敌鳖
2014-12-29 · TA获得超过185个赞
知道答主
回答量:92
采纳率:67%
帮助的人:26.5万
展开全部
所谓流就是保证数据流通的管道,如果要对两个不同的流进行数据连接(就相当于两根不同的管道进行联通),那么就需要对数据进行封装(相当于另找一根管道来连接这两个不同的管道)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2014-07-25 · 超过11用户采纳过TA的回答
知道答主
回答量:39
采纳率:100%
帮助的人:22.2万
展开全部

是一种面向对象的程序设计语言(也是我最喜欢的~),现属于Oracle(以前是Sun)

来一段吧:

package com.charlie.hello; //这是包声明,指明该源文件位于com.charlie.hello报下
public class Hello{ //类声明
    public static void main(String[] args){//主方法声明,程序的入口点
        System.out.println("Hello!");//输出“Hello”
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式