当前位置: 首页 > news >正文

java IO类简单介绍

一、流的概念

  流是字节序列的抽象概念。流和文件的差别:文件是数据的静态存储形式,而流是指数据传输时的形态。文件只是流的操作对象之一。流按其操作的对象不同可以分为文件流、网络流、内存流、磁带流等。Java流类可分为两个大类:节点流类和过滤流类(也叫处理流类)

  1、节点流类:用于直接操作目标设备所对应的流类。节点流类所对应的IO源或目标称为流节点。比如我们用一个类和一个文件或网络相关联,那么这个类就叫做节点流类,这个文件或网络就叫做流的节点。

  二、InputStream和OutputStream类

  1、InputStream类:程序可以从中连续读取字节的对象叫输入流,在Java中,用InputStream类来描述所有输入流的抽象概念。这个类是抽象类。

  2、OutputStream类:程序可以向其连续写入字节的对象叫输出流,在Java中,用OutputStream类来描述所有输出流的抽象概念。这个类也是抽象类。

  三、FileInputStream和FileOutputStream类

  1、这两个类分别用来创建磁盘文件的输入流和输出流对象,通过他们的构造函数来指定文件路径和文件名。

  2、有两种方法创建FileInputStream

  (1)、FileInputStream inFirst = new FileInputStream("test.txt");

  (2)、File f = new File("test.txt");

           FileInputStream inSecond = new FileInputStream(f);

  四、Reader和Writer类

  1、上面的几个类,他们在读取或写入的时候,都是进行字节操作,要显示出来还要进行字符串转换

  2、用Reader和Writer类就可以直接进行字符串读取,简化了字符串的输入输出编程。但他们都是抽象类,用他们的子类FileReader、FileWriter就可以直接使用。

  五、PipedInputStream和PipedOutputStream类

  PipedInputStream和PipedOutputStream类用于在应用程序中创建管道通信。一般用在进程间通信。

  六、PipedWriter和PipedReader类

  这两个类用于在管道中的字符串通信。

  七、ByteArrayInputStream和ByteArrayOutputStream类

  ByteArrayInputStream和ByteArrayOutputStream,用于以IO流的方式来完成对字节数组内容的读写,来支持类似内存虚拟文件或者内存映像文件的功能。

 

 

 

 

 

转载于:https://www.cnblogs.com/fjsnail/p/3479132.html

相关文章:

  • 高新集训记录
  • css控制大幻灯绝对居中(非背景)
  • Java synchronized用法
  • Zuul小技巧 /routes
  • flex 与 javascript互调用
  • vue2的keep-alive的总结
  • 一款轻量的图像缩放插件
  • class与dex文件
  • 嵌入式Linux:基于ARM11下Android应用点亮LED灯 【PDF版论文下载】
  • 11.24 静态元素过期时间
  • AWS的登录认证。。。
  • 05 Objective C数组的四种遍历方法总结
  • 关于Ubuntu12.04笔记本触摸板的无法使用的问题
  • form表单提交后不刷新不跳转
  • 五险一金
  • .pyc 想到的一些问题
  • 【comparator, comparable】小总结
  • 【Leetcode】104. 二叉树的最大深度
  • 2018一半小结一波
  • CentOS 7 修改主机名
  • HTML-表单
  • MySQL几个简单SQL的优化
  • rabbitmq延迟消息示例
  • Swoft 源码剖析 - 代码自动更新机制
  • 对超线程几个不同角度的解释
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 蓝海存储开关机注意事项总结
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 前端之React实战:创建跨平台的项目架构
  • 一起参Ember.js讨论、问答社区。
  • 自制字幕遮挡器
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • # Panda3d 碰撞检测系统介绍
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • $(function(){})与(function($){....})(jQuery)的区别
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (图)IntelliTrace Tools 跟踪云端程序
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)http协议
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .net core Swagger 过滤部分Api
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net中我喜欢的两种验证码
  • @Transactional 详解
  • [Bada开发]初步入口函数介绍
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)
  • [CSDN首发]鱿鱼游戏的具体玩法详细介绍
  • [Geek Challenge 2023] web题解
  • [hdu 3746] Cyclic Nacklace [kmp]