首页 > 其他分享 >IO流概述和分类

IO流概述和分类

时间:2023-12-17 13:01:01浏览次数:22  
标签:输出 字节 文件 创建 分类 fos 概述 IO

  • IO流介绍

    • IO:输入/输出(Input/Output)
    • 流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输
    • IO流就是用来处理设备间数据传输问题的。常见的应用:文件复制;文件上传;文件下载
  • IO流的分类

    • 按照数据的流向
      • 输入流:读数据
      • 输出流:写数据
    • 按照数据类型来分
      • 字节流
        • 字节输入流
        • 字节输出流
      • 字符流
        • 字符输入流
        • 字符输出流
  • 字节流抽象基类

    • InputStream:这个抽象类是表示字节输入流的所有类的超类
    • OutputStream:这个抽象类是表示字节输出流的所有类的超类
    • 子类名特点:子类名称都是以其父类名作为子类名的后缀

字节输出流

  • FileOutputStream(String name):创建文件输出流以指定的名称写入文件

  • 使用字节输出流写数据的步骤

    • 创建字节输出流对象(调用系统功能创建了文件,创建字节输出流对象,让字节输出流对象指向文件)
    • 调用字节输出流对象的写数据方法
    • 释放资源(关闭此文件输出流并释放与此流相关联的任何系统资源)
public class FileOutputStreamDemo01 {
      public static void main(String[] args) throws IOException {
          //创建字节输出流对象
          //FileOutputStream(String name):创建文件输出流以指定的名称写入文件
          FileOutputStream fos = new FileOutputStream("51cto\\fos.txt");
          /*
              做了三件事情:
                  A:调用系统功能创建了文件
                  B:创建了字节输出流对象
                  C:让字节输出流对象指向创建好的文件
           */
  
          //void write(int b):将指定的字节写入此文件输出流
          fos.write(97);
  
          //最后都要释放资源
          //void close():关闭此文件输出流并释放与此流相关联的任何系统资源。
          fos.close();
      }
  }

标签:输出,字节,文件,创建,分类,fos,概述,IO
From: https://blog.51cto.com/u_15527112/8861297

相关文章

  • VMware workstation中安装的centos虚拟机ip自动获取可以上网,设置静态ip不能上网问题解
    一、需求   linux中我们会设置hosts文件,这会涉及ip和域名的设置,但是如果虚拟机自动获取ip地址的话,这就意味着之前设置的hosts文件需要重新修改,所以我们需要设置虚拟机为静态ip地址。二、故障现象   我linux虚拟机最开始是自动获取的ip地址,用的nat模式,是可以上网的,......
  • 门户网站都有哪几种?具体的分类是什么
    门户网站是指为用户提供全面信息服务和多种互动功能的网站。通常,门户网站具有以下特点:1、提供多种信息内容,如新闻、财经、娱乐、体育等;2、提供各种实用的工具或服务,如搜索、邮箱、社区、招聘、房地产等;3、具有强大的互动性,如留言板、评论功能、在线问答、投票、调查等。下面是关......
  • Spring的BeanDefinition是什么
    BeanDefinition是什么?在Spring框架中,BeanDefinition是描述和定义Spring容器中的Bean的元数据对象。它包含了定义Bean的相关信息,例如Bean的类名、作用域、生命周期等。BeanDefinition对象通常由Spring容器在启动过程中根据配置信息或注解生成。是SpingIoc容器管理的核心数据结构......
  • 使用LM Studio在本地运行LLM完整教程
    GPT-4被普遍认为是最好的生成式AI聊天机器人,但开源模型一直在变得越来越好,并且通过微调在某些特定领域是可以超过GPT4的。在开源类别中出于以下的原因,你可能会考虑过在本地计算机上本地运行LLM:脱机:不需要互联网连接。模型访问:在本地运行模型,可以尝试开源模型(Llama2、Vicun......
  • INotifyCollectionChanged 用法简介
    INotifyCollectionChanged接口是System.Collections.Specialized命名空间中的一个接口,用于在集合发生更改时通知订阅者。这个接口通常在实现了集合的类中使用,以便在集合变化时通知监听者(如UI控件)进行更新。以下是INotifyCollectionChanged的关键成员:CollectionChanged事......
  • DependencyInjection组件实现IOC控制反转(2)
    目的:讲解DependencyInjection组件实现IOC的步骤1、添加Nuget包:Micosoft.Extensions.DependencyInjection2、创建容器://创建容器ServiceCollectionservices=newServiceCollection(); 3、注册:把服务注册进容器的过程  有两个概念需要说明下:     服务类......
  • Java之可变参数和Collections的详细解析
     1.可变参数在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致,我们可以对其简化.格式:修饰符返回值类型方法名(参数类型...形参名){}底层:其实就是一个数组好处:在传递数据的时候,省的我们自己创建数组并添加元素了,JDK底层帮我们自动创建数组并添加元素了......
  • Windows2008R2 IIS配置证书 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误解决方法
    IISCrypto 用这个工具很方便,也可以手动修改注册表工具内置最佳实践,点击 BestPractices再Apply,然后重启服务器即可,设置前记得备份注册表。参考:https://blog.csdn.net/a873744779/article/details/103635882https://blog.csdn.net/jackbon8/article/details/82702563 ......
  • XS PLCopen 标准控制器 XS Studio 指令
     1.基础指令  1-1.位逻辑指令 1-1-1.基本位逻辑指令指令名称      功能介绍AND          运算符“与” OR          运算符“或”NOT          运算符“非”XOR      ......
  • C - Repunit Trio
    C-RepunitTriohttps://atcoder.jp/contests/abc333/tasks/abc333_c 思路N=333时候,repunit最长12位,三重遍历repunit做和记录到vector中最后对vector进行排序,取n值。 Codehttps://atcoder.jp/contests/abc333/submissions/48575689vector<longlong>sums;int......