热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

输入输出流的理解

一.流分类1.按操作类型来分类输入流:从文件,网络,压缩包或其它数据源写入内存中目的地(InputStream,Reader)输出流:源地写出到文件,网络,压缩包或其它数据输出

一.流分类

    1.按操作类型来分类

     输入流:从文件,网络,压缩包或其它数据源写入内存中目的地(InputStream,Reader)

   输出流:源地写出到文件,网络,压缩包或其它数据输出 (OutputStream,Writer)

      (通俗理解,从对用户可见不可见为输入流,从对用户不可见到用户可见的为输出流)

    2.按流的形式来分类

       字节流:InputStream(字节输入流),OutputStream(字节输出流) 

  字符流:Reader(字符输入流),Writer(字符输出流)

       这四个为抽象类,所有输入流为InputStream或Reader的子类,所有输出流为OutputStream或Writer的子类

二.流的使用

      下面以最常用的FileOutputStream,FileInputStream为例,实例I/O流的使用

      因为是从不可见的数组到可见的文件中,所以用FileOutputStream

    File file=new File("c:/text.txt");  //定义一个新的文件对象
byte [] b="有志者,事竟成!".getBytes(); //将字节数组作为源
FileOutputStream out=new FileOutputStream(file); //这里是从数组输出到文件(不可见到可见)
out.write(b);//数组写入文件
out.close(); //用完关闭流

    从文件中的信息写入数组,从可见到不可见,所以用FileInputStream

     File file=new File("c:/text.txt");  //定义一个新的文件对象(C盘存在这个文件)
byte []b=new byte[200]; //作为接收写入的目的源字节数组
FileInputStream in=new FileInputStream(file);
in.read(b);
for(int i=0;i System.out.println(new String(b,0,b.length));
}

   仅以这两个作为小实例,下面附上JDK1.7版本API中InoutStream和OutputStream的常用方法

  InputStream:

    

    OutputStream:

    

 

  

      

  


推荐阅读
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 本文详细介绍了Java中的输入输出(IO)流,包括其基本概念、分类及应用。IO流是用于在程序和外部资源之间传输数据的一套API。根据数据流动的方向,可以分为输入流(从外部流向程序)和输出流(从程序流向外部)。此外,还涵盖了字节流和字符流的区别及其具体实现。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 本文介绍了一种从与src同级的config目录中读取属性文件内容的方法。通过使用Java的Properties类和InputStream,可以轻松加载并获取指定键对应的值。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 本文详细探讨了Java中的ClassLoader类加载器的工作原理,包括其如何将class文件加载至JVM中,以及JVM启动时的动态加载策略。文章还介绍了JVM内置的三种类加载器及其工作方式,并解释了类加载器的继承关系和双亲委托机制。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • jQuery HooRay:一款自创的实用 jQuery 工具插件
    这款插件主要由作者在工作中积累的常用功能开发而成,旨在解决现有插件间的冲突及浏览器兼容性问题。通过整合和优化现有插件,确保其稳定性和高效性。 ... [详细]
  • Ihaveastringwithquotesaroundthepathasfollows:我在路径周围有一个带引号的字符串,如下所示:C:\ProgramFiles(x ... [详细]
  • 在软件开发过程中,MD5加密是一种常见的数据保护手段。本文将详细介绍如何在C#中使用两种不同的方式来实现MD5加密:字符串加密和流加密。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
author-avatar
楓武总统_326
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有