前言

IOStream是InputStream和OutputStream的简称,这两个基类下面包含着很多子类,如图(output与input对应):

对于这几个子类的介绍,详情百度百科。

in和out是相对于内存来说的,接下来用一个小例子对它加深理解。

实例

public static void main(String[] args) {File file = new File("G:\\测试.txt");File filenew = new File("G:\\new测试.txt");int size = (int)file.length();byte[] bytes=new byte[size];try {InputStream in = new FileInputStream(file);try {in.read(bytes);} catch (IOException e) {e.printStackTrace();}OutputStream out = new FileOutputStream(filenew);try {out.write(bytes);} catch (IOException e) {e.printStackTrace();}try {in.close();out.close();} catch (IOException e) {e.printStackTrace();}} catch (FileNotFoundException e) {e.printStackTrace();}System.out.print("完成");}

这是一个最简单的IO流复制文件的操作,大概意思就是,本地G盘下有一名为“测试”的txt文件,inputStream将其文件流读入内存中,并新建一空文件“new测试.txt”,使用OutputStream从内容中读出流并输入到该文件中,此时,在本地G盘下会生成“new测试.txt”,内容与“测试.txt”相同。

实际的使用IO流操作大文件时,一般会把他们读出的流放入缓存中,可显著加快读取速度。在此不做演示。

总结

IO流在实际中的使用非常普遍,如上传下载文件,读取、写文件等。

【JAVA】IOStream相关推荐

  1. java iostream_【JAVA】IOStream

    前言 IOStream是InputStream和OutputStream的简称,这两个基类下面包含着很多子类,如图(output与input对应): 对于这几个子类的介绍,详情百度百科. in和out ...

  2. 【Java】eclipse如何导入项目

    [Java]eclipse如何导入项目 1.第一步,打开eclipse,点击file->import 2.第二步,选择general->existing projects into wor ...

  3. 【Java】Java连接Mysql数据库的demo示例

    [Java]Java连接Mysql数据库的demo示例 1.安装mysql数据库 2.下载java-mysql-connector.jar包 3.完成java配置 4.写java代码运行测试 1.安装 ...

  4. 【Java】泛型中 extends 和 super 的区别?

    <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概念. ...

  5. java反射invoke空指针_【Java】Java 反射 object is not an instance of declaring cla

    [Java]Java 反射 object is not an instance of declaring cla [Java]Java 反射 object is not an instance of ...

  6. synchronized【Java】中使用的demo

    synchronized[Java]中使用的demo 没有synchronized的效果: package Action;public class syn {static int count=10;s ...

  7. 【Java】NIO中Selector的select方法源码分析

    该篇博客的有些内容和在之前介绍过了,在这里再次涉及到的就不详细说了,如果有不理解请看[Java]NIO中Channel的注册源码分析, [Java]NIO中Selector的创建源码分析 Select ...

  8. LeetCode题库整理【Java】—— 3 无重复字符的最长子串

    LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...

  9. LeetCode题库整理【Java】—— 2 两数相加

    LeetCode题库整理[Java] 2.两数相加 题目:给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果, ...

  10. LeetCode题库整理【Java】—— 7整数反转

    LeetCode题库整理[Java] 7.整数反转 题目:给出一个32位的有符号整数,你需要将这个这个整数中每位上的数字进行反转. 示例1: 输入: 123 输出: 321 示例2: 输入: -123 ...

最新文章

  1. 如何解决linux的ssh连接自动断开的问题
  2. Java 冒泡排序实现及口诀
  3. 121_Power Query之R.Execute的read.xlsxODBC
  4. Spring 基础技术点
  5. 最暖的10个小故事,看完心都融化了
  6. 这可能是最好的RxJava 2.x 入门教程学习系列
  7. STM32学习:串口通讯(proteus仿真)
  8. 【NOIP2014模拟8.25】设备塔
  9. Azure Active Directory中的特权身份管理如何运作?
  10. 在线Excel转XML工具
  11. mate30pro鸿蒙系统刷机包下载,华为 Mate 30 Pro 的鸿蒙 2.0 Beta 版刷机包流出(附下载地址)...
  12. VS2015: 无法打开包括文件: “QSerialPort”: No such file or directory
  13. lammps自带命令create_atoms实现水分子建模
  14. Java 流(Stream)、文件(File)和IO
  15. txt电子书如何用安卓手机完美打开?
  16. 软件开发流程有哪些?完整的软件开发流程
  17. 成都拓嘉启远:多多进宝如何关
  18. 关于此博客更名和改版的说明
  19. python批量分割音频-无bug完美运行
  20. 网络服务器 用到的技术

热门文章

  1. 防病毒网关、防火墙与防病毒软件功能及部署对比
  2. 如何用Mac线刷小米手机
  3. 一步步学习微软InfoPath2010和SP2010--第五章节--添加逻辑和规则到表单(1)--InfoPath中初级类型的表单逻辑
  4. 毕设无忧|单片机类毕设论文模板
  5. Android StorageManager实现原理剖析
  6. 程序流程图的基本画法大全
  7. java中socket编程实例_Java Socket编程实例
  8. ueditor常见用法
  9. CLRInjection - 通用托管注入(超级灰色按钮克星升级版)
  10. #游戏unity-VR场景漫游#shader之消除纹理重复感