我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java的标准数据流有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java的标准数据流有哪些

这篇文章主要讲解了“Java的标准数据流有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的标准数据流有哪些”吧!

Java输入输出(I/O)API是Java里最重要的API之一。Java I/O提供了许多API提供对文件,内存,socket的读写。

Java里的流(Stream)概念:

流是一种有序的字节数据对象。流又分为输入流(InputStream)和输出流(OutputStream)。输入流从外部资源(文件,内存,socket等)读入字节数据到Java对象;输出流则把Java对象(字节数据等)写入到外部资源。

所有Java I/O都可归类为以下两种:

1,字节数据输入输出I/O

2,文字列数据输入输出I/O

所有的字节数据输入输出I/O都继承自java.io.InputStream和java.io.OutputStream接口。

字节数据输入流及其派生类:

java.io.InputStream   +--java.io.ByteArrayInputStream  +--java.io.BufferedInputStream  +--java.io.DataInputStream  +--java.io.FileInputStream  +--java.io.FilterInputStream  +--java.io.ObjectInputStream  +--java.io.PipedInputStream  +--java.io.PushbackInputStream  +--java.io.SequenceInputStream  +--java.io.StringBufferInputStream

字节数据输出流及其派生类:

java.io.OutputStream  +--java.io.BufferedOutputStream  +--java.io.ByteArrayOutputStream  +--java.io.DataOutputStream  +--java.io.FileOutputStream  +--java.io.FilterOutputStream  +--java.io.ObjectOutputStream  +--java.io.PipedOutputStream

所有的文字列数据输入输出I/O都继承自java.io.Reader和java.io.Writer接口。

文字列数据输入流及其派生类:

java.io.Reader  +--java.io.BufferedReader  +--java.io.CharArrayReader  +--java.io.FileReader  +--java.io.FilterReader  +--java.io.InputStreamReader  +--java.io.LineNumberReader  +--java.io.PipedReader  +--java.io.PushbackReader  +--java.io.StringReader

文字列数据输出流及其派生类:

java.io.Writer  +--java.io.BufferedWriter  +--java.io.CharArrayWriter  +--java.io.FilterWriter  +--java.io.OutputStreamWriter  +--java.io.FileWriter  +--java.io.PipedWriter  +--java.io.PrintWriter  +--java.io.StringWriter

它们(java.io)之间的关系可以用下图来表示:

Java的标准数据流有哪些

JDK 1.4以前的版本的Java I/O操作集中在java.io这个包中,是基于流的阻塞(blocking)API。

从JDK1.4开始引入了New I/O(NIO)API。该API包含在java.nio.*里。NIO有时也叫做nonblocking I/O(非阻塞I/O),NIO基于缓冲区,并能提供非阻塞(non-blocking)IO操作。

NIO主要包:

java.nio

定义了Buffer及其数据类型相关的子类。

java.nio.channels

定义了高速文件处理/socket通信处理等I/O处理的Channel接口以及这些接口在文件系统和网络通信等上的实现类。同时可以通过Selector类,提供了进行非阻塞I/O操作的方法。该包是NIO API的核心包。

java.nio.charset

定义了字符编码和解码处理类。

NIO接口/类的层次结构:

java.nio.ByteBuffer  java.nio.channels.Channel  +--java.nio.channels.ServerSocketChannel  +--java.nio.channels.ReadableByteChannel  +--java.nio.channels.ScatteringByteChannel  +--java.nio.channels.ByteChannel  +--java.nio.channels.WritableByteChannel  +--java.nio.channels.ByteChannel  +--java.nio.channels.GatheringByteChannel  java.nio.channels.Slector  java.nio.channels.ScatteringByteChannel, ByteChannel, GatheringByteChannel  +--java.nio.channels.FileChannel  +--java.nio.channels.SocketChannel  +--java.nio.channels.DatagramChannel  java.nio.charset.Charset  java.nio.charset.CharsetEncoderjava.nio.charset.CharsetDecoder

NIO层次结构图:

Java的标准数据流有哪些

***节 数据流的基本概念

◆ 理解数据流

流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个数人流,而屏幕则只是一个输出流。

◆ 的标准数据流

标准输入输出指在字符方式下(如DOS),程序与系统进行交互的方式,分为三种:

标准输入studin,对象是键盘。

标准输出stdout,对象是屏幕。

标准错误输出stderr,对象也是屏幕。

例 8.1 从键盘输入字符。

本例用System.in.read(buffer)从键盘输入一行字符,存储在缓冲区buffer中,count保存实际读入的字节个数,再以整数和字符两种方式输出buffer中的值。Read方法在java.io包中,而且要抛出IOException异常。程序如下:

import java.io.*;  public class Input1  {  public static void main(String args[]) throws IOException  {   System.out.println("Input: ");  byte buffer[] = new byte[512]; //输入缓冲区  int count = System.in.read(buffer); //读取标准输入流  System.out.println("Output: ");  for (int i=0;i<COUNT;I++) 输出buffer元素值  {  System.out.print(" "+buffer[i]);  }  System.out.println();  for (int i=0;i<COUNT;I++) 按字符方式输出buffer  {  System.out.print((char) buffer[i]);  }  System.out.println("count = "+ count); //buffer实际长度  }  }

程序中,main方法采用throws子句抛出IOException异常交由系统处理。

Java.io包中的数据流及文件类

字节流:

从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。

  • InputStream、OutputStream

  • FileInputStream、FileOutputStream

  • PipedInputStream、PipedOutputStream

  • ByteArrayInputStream、ByteArrayOutputStream

  • FilterInputStream、FilterOutputStream

  • DataInputStream、DataOutputStream

  • BufferedInputStream、BufferedOutputStream

字符流:

从Reader和Writer派生出的一系列类,这类流以16位的Unicode码表示的字符为基本处理单位

  • Reader、Writer

  • InputStreamReader、OutputStreamWriter

  • FileReader、FileWriter

  • CharArrayReader、CharArrayWriter

  • PipedReader、PipedWriter

  • FilterReader、FilterWriter

  • BufferedReader、BufferedWriter

  • StringReader、StringWriter

感谢各位的阅读,以上就是“Java的标准数据流有哪些”的内容了,经过本文的学习后,相信大家对Java的标准数据流有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java的标准数据流有哪些

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

下载Word文档

猜你喜欢

Java的标准数据流有哪些

这篇文章主要讲解了“Java的标准数据流有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的标准数据流有哪些”吧!Java输入输出(I/O)API是Java里最重要的API之一。J
2023-06-17

python标准库有哪些函数

Python标准库包含了许多内置函数和模块,提供了许多常用的功能和工具。以下是一些常用的Python标准库函数:1、os模块:提供了许多与操作系统交互的功能。例如:os.path.abspath(path):返回路径的绝对路径。os.pat
2023-10-25

Python3中实现数据标准化的方法有哪些

今天就跟大家聊聊有关Python3中实现数据标准化的方法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、[0, 1] 标准化[0, 1] 标准化是最基本的一种数据标准化方法,
2023-06-14

python的内置标准库有哪些

Python的内置标准库包含了多个模块,用于提供各种功能和工具。以下是一些常用的Python内置标准库:1. `math`:提供了数学运算函数和常量。2. `random`:用于生成随机数。3. `datetime`:处理日期和时间的模块。
2023-08-08

Python语言的标准库有哪些

这篇文章主要介绍“Python语言的标准库有哪些”,在日常操作中,相信很多人在Python语言的标准库有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python语言的标准库有哪些”的疑惑有所帮助!接下来
2023-06-17

Google的代码审查标准有哪些

本文小编为大家详细介绍“Google的代码审查标准有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Google的代码审查标准有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。如何在代码审查方面表现出色在本
2023-06-27

网站URL标准化的原则有哪些

这篇文章给大家分享的是有关网站URL标准化的原则有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。网站URL标准化12条原则  1.推荐申请自己的独立域名来建立网站,这一点现在已经不是问题。  2.尽量使用静态
2023-06-10

Python标准库的操作方法有哪些

这篇文章主要讲解了“Python标准库的操作方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python标准库的操作方法有哪些”吧!1、操作系统接口os模块提供了不少与操作系统相关联
2023-06-30

C++ 标准库中有哪些常用的 STL 函数对象?

c++++ stl 中提供了多种函数对象,可用于对元素进行比较、排序和操作。常见的函数对象包括用于升序排序的 less,用于降序排序的 greater,用于比较相等的 equal_to,以及用于绑定函数参数的 bind2nd 和 mem_f
C++ 标准库中有哪些常用的 STL 函数对象?
2024-04-25

有哪些流行的Java框架

本篇内容介绍了“有哪些流行的Java框架”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. Spring这是其他Java框架中的绝对领导者。
2023-06-16

php中的标量数据类型有哪些

本篇内容介绍了“php中的标量数据类型有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php中的标量数据类型有4种:1、boolean(
2023-06-22

java连接数据库(jdbc)的标准规范

java连接数据库的标准规范JDBC全称:java database connectivity ,是sun公司提供的Java连接数据库的标准规范。localhost和127.0.0.1 都是表示当前电脑1、oracle Oracle Database,又名Or
java连接数据库(jdbc)的标准规范
2019-05-09

java中的数据类型有哪些

数据类型:注意事项:1:java开发过程中整型用int、小数用double、布尔用boolean;2:类型转换都是小范围向大范围转换,大范围往小范围转化需要用到强制转换;例如:(1)int a=12;double b=a;(2)double a=3.0;int
java中的数据类型有哪些
2021-03-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录