广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java 流区别是什么
  • 427
分享到

java 流区别是什么

java入门java区别 2022-02-01 08:02:12 427人浏览 才女
摘要

在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。字节流与字符流在jav

在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。

程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。

字节流与字符流

在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)

java中提供了专用于输入输出功能的包Java.io,其中包括:

InputStream,OutputStream,Reader,Writer

InputStream和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象。

Reader和Writer,两个是为字符流(一个字符占两个字节)设计的,主要用来处理字符或字符串

字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点。

所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列。

字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。

字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的 但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化 这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联 在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的。

Reader类的read()方法返回类型为int :作为整数读取的字符(占两个字节共16位),范围在 0 到 65535 之间 (0x00-0xffff),如果已到达流的末尾,则返回 -1。

inputStream的read()虽然也返回int,但由于此类是面向字节流的,一个字节占8个位,所以返回 0 到 255 范围内的 int 字节值。如果因为已经到达流末尾而没有可用的字节,则返回值 -1。因此对于不能用0-255来表示的值就得用字符流来读取!比如说汉字。

编程界网,大量的免费Java入门教程,欢迎在线学习

--结束END--

本文标题: java 流区别是什么

本文链接: https://www.lsjlt.com/news/3846.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java 流区别是什么
    在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。字节流与字符流在jav...
    99+
    2022-02-01
    java入门 java 区别
  • java字符流与字节流的区别是什么
    java中字符流与字节流的区别:(推荐:java视频教程)字节流操作的基本单元为字节;字符流操作的基本单元为Unicode码元。字节流默认不使用缓冲区;字符流使用缓冲区。字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支...
    99+
    2022-03-22
    java 字符流 字节流
  • Java输入输出流的区别是什么
    Java中的输入流和输出流是两个不同的概念,用于读取和写入数据。它们的区别在于方向和目的地。输入流是从数据源(如文件、网络连接等)读...
    99+
    2023-05-30
    Java输入输出流 Java
  • php和java区别是什么
    php和java区别:java是一种静态编程语言,而php是动态的。php适合于快速开发,中小型应用系统,而java适合于开发大型的应用系统。Java通过JDBC来访问数据库,访问数据库的接口比较统一,而php对于不同的数据库采用不同的数据...
    99+
    2022-10-19
  • java se与java的区别是什么
    Java是一门程序设计语言,它有三个版本,Java SE(标准版)、Java EE(企业版)和Java ME(微型版)。而Java SE只是一个使用Java进行编程的规范、框架,它不是一门编程语言。Java SE(java standard...
    99+
    2020-11-03
    java入门 java se java 区别
  • java ee与java的区别是什么
    JavaEE是指java enterprise edition,java企业版,多用于企业级开发,包括web开发等等很多组件。Java和JavaEE区别: Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越...
    99+
    2014-06-01
    java入门 java ee java 区别
  • Python和Java的区别是什么
    这篇文章给大家介绍Python和Java的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。随着人工智能的火爆,Python和Java一直在各种流行编程语言中名列前茅。其实Jav...
    99+
    2022-10-19
  • Java和JavaScript的区别是什么?
    Java和JavaScript是两种不同的编程语言,它们虽然名称相似,但是却有着很大的区别。在本文中,我们将会详细介绍Java和JavaScript之间的区别。 历史背景 Java是由Sun Microsystems公司于1995年推出...
    99+
    2023-09-10
    unix 分布式 javascript
  • java和安卓区别是什么
    从整体来讲,java和android的区别在于android程序是基于组件和配置的,而且android开发以java语言为开发工具。 (推荐学习:java课程)表面上看他们有点同宗不同门,但实际上区别十分大,andr...
    99+
    2019-02-16
    java教程 java
  • j2ee和java的区别是什么?
    什么是java?java是一种编程语言,java不仅有着c++的优点,还放弃了一些难以理解的名词,目前java是一种面向对象的代表,java语言简单易用,而且功能强大,因此很多程序员使用java编程桌面程序,和嵌入式系统。Java是一种可以...
    99+
    2020-12-18
    java入门 j2ee java
  • html与java的区别是什么?
    html与java的区别两者本质不一样。Java是一种面向对象编程语言,像C、Basic一样,但各有各的特点。java是一门程序语言,具有众多优点,它是可以编写网页的;但那个语言叫JSP,JSP语言是JAVA程序语言的一种技术。【推荐学习:...
    99+
    2014-10-09
    java基础 html java
  • js和java的区别是什么?
    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。js(JavaScript)是一种直译式脚本语言,是一种动态类型、弱类型、基于原型...
    99+
    2015-02-08
    js java
  • c 和java的区别是什么
    Java和C都是指令式语言(Imperative Language),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象。另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM...
    99+
    2019-02-23
    java教程 c java 区别
  • android和java的区别是什么
    从整体来讲,java和android的区别在于android程序是基于组件和配置的,而且android开发以java语言为开发工具,表面上看他们有点同宗不同门,但实际上区别十分大,android是一个主流智能手机操作系统,java是一种开发...
    99+
    2019-02-19
    java教程 android java 区别
  • android与java的区别是什么
    java是一门编成语言,而android是一个基于linux内核的手机操作系统。两者的关系在于,用java语言可以编写出应用程序安装在android,这也是现在java语言就业的一个方向。编程界网,大量的免费Java入门教程,欢迎在线学习!...
    99+
    2018-02-25
    java教程 android java 区别
  • java与javascript的区别是什么
    这篇文章给大家分享的是有关java与javascript的区别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 区别:1、JavaScript由浏...
    99+
    2022-10-19
  • Java和HTML的区别是什么
    本篇内容主要讲解“Java和HTML的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java和HTML的区别是什么”吧!  Java是一门编程语言,一...
    99+
    2022-10-19
  • java和c++的区别是什么
    Java和C++是两种常见的编程语言,在以下几个方面有所不同:1. 语法结构:Java是一种面向对象的编程语言,其语法结构较为简洁和...
    99+
    2023-08-30
    java
  • Kotlin与Java的区别是什么
    Kotlin与Java的区别可以总结如下:1. 语法简洁:Kotlin的语法相对于Java更简洁易读,减少了冗余的代码和样板代码。例...
    99+
    2023-08-14
    Kotlin Java
  • 恒流源和恒压源的区别是什么
    恒流源和恒压源的区别是:1、恒流源提供一个稳定的电流输出,而恒压源提供一个稳定的电压输出;2、当负载阻值增加时,恒流源会自动提供更高的电压来保持恒定的输出电流,而恒压源会自动降低输出电流来保持恒定的输出电压。本教程操作系统:Windows1...
    99+
    2023-08-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作