Java-基础-4.IO流

news2024/11/17 20:20:01

一:为什么有IO流?

 在显示生产中,我们的数据,都是不停的往过输入和输出,我们将这种模式称作为流。并且在输入和输出的过程中,我们包装了一些其他类。

二:什么是IO流?

在这里插入图片描述
  1. 按照数据处理单位,可以划分为字节流和字符流。除了文本的为字符流,其他都是字节流。区别在于,字节流为8个字节,字符流为16个字节。
  2. 根据数据的流向,分为输入流,输出流。从节点到内存的,为输入流。从内存到节点的为输出流。
  3. 根据功能分类,分为节点流和处理流。节点流,可以直接本身从数据源或者目的地进行读写。处理流,是通过进行包装的流进行输入和输出。从而提高性能。

三:怎么使用IO流?

  1. 基本操作步骤。
   在进行任何操作之前,首先要明确目的(读还是写),找准源头(读取),找准目的地(写出)。
   (1)建立联系 :这一步骤是为了获取流,如果此时是文件,则需要将文件抽象到内存形成对象。后期也可以是其他的数据源。
   (2)选择流:从读写、数据单元和功能方面考虑。输入|输出,字节|字符,结点流处理流。
   (3)执行操作:该读就读,该写就写。考虑是一次性完成还行需要循环。
   (4)释放资源:程序中打开的文件 IO 资源不属于内存中的资源,垃圾回收无法回收,需要显示关闭。
  2.各个接口常用的方法。
   (1)InputStream
在这里插入图片描述
   (2)Reader
在这里插入图片描述
   (3)OutputStream
在这里插入图片描述
   (4)Writer
在这里插入图片描述
  3. 注意点。
   (1)文件输出流中,增加条件true,那么在是对文件进行追加,如果没有,那就是覆盖。

FileOutputStream fileOutputStream = new FileOutputStream(file1,true);
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file1,true));

  4.代码。
   (1)FileReader_FileWriter

package day03_IO;

import java.io.*;

public class FileReader_FileWriter_test {
    public static void main(String[] args) throws IOException {
        //第一步:找到数据源
        File file = new File("C:/Users/admin/Desktop/111.txt");
        File file1 = new File("C:/Users/admin/Desktop/333.txt");
        file1.createNewFile();
        //第二步:选择流
        Reader reader = new FileReader(file);
        FileWriter fileWriter = new FileWriter(file1);
        //第三步:进行处理
        char[] chars = new char[20];
        reader.read(chars);
        fileWriter.write(chars);
        fileWriter.flush();
        //第四步:关闭流
        reader.close();
        fileWriter.close();
    }
}

   (2)fileInputStream_FileOutputStream

package day03_IO;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class fileInputStream_FileOutputStream_test {
    public static void main(String[] args) throws IOException {
        //第一步:找到数据源
        File file = new File("C:/Users/admin/Desktop/111.txt");
        File file1 = new File("C:/Users/admin/Desktop/222.txt");
        file1.createNewFile();
        //第二步:选择流
        FileInputStream fileInputStream = new FileInputStream(file);
        FileOutputStream fileOutputStream = new FileOutputStream(file1,true);
        //第三步:进行处理
        byte[] bytes = new byte[100];
        fileInputStream.read(bytes);
        fileOutputStream.write(bytes);
        fileOutputStream.flush();
        //第四步:关闭流
        fileInputStream.close();
        fileOutputStream.close();
    }
}

   (3)FileReader_FileWriter

package day03_IO;

import java.io.*;

public class FileReader_FileWriter_test {
    public static void main(String[] args) throws IOException {
        //第一步:找到数据源
        File file = new File("C:/Users/admin/Desktop/111.txt");
        File file1 = new File("C:/Users/admin/Desktop/333.txt");
        file1.createNewFile();
        //第二步:选择流
        Reader reader = new FileReader(file);
        FileWriter fileWriter = new FileWriter(file1);
        //第三步:进行处理
        char[] chars = new char[20];
        reader.read(chars);
        fileWriter.write(chars);
        fileWriter.flush();
        //第四步:关闭流
        reader.close();
        fileWriter.close();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux学习之常用基本命令【1】

文章目录前言一 Linux系统简介二 补充知识Unix和Minix三 开关机命令四 系统目录结构五 树形显示文件目录结构六 目录管理6.0 目录操作常用命令6.1 ls(列出目录)【常用命令】6.2 cd(切换目录)6.3 pwd( 显示当前所在的目录 )6.4 mkdir(make directory创建目录&#xf…

Power BI折线图

如果要展现数据的趋势变化,折线图应该是不二之选,并且它更擅长于展现时间序列下的数据,根据折线斜率的不同展现变化的速率。 本文使用PowerBI Desktop来轻松生成一个折线图。 案例数据:2006-2015年各省市的三个产业的产值&#…

【SAP Abap】X档案:SAP 快速提供基础数据给第三方系统访问的几种方法

SAP 快速提供基础数据给第三方系统访问的几种方法1、数据封装2、开放RFC访问3、开放接口服务4、开放DB访问1、数据封装 在企业信息系统建设过程中,少不了的就是系统集成数据对接。 尤其是SAP系统中大量的基础数据集成,如各种字段值域,需要提…

Vue2笔记02 表单数据,过滤器,常见指令,生命周期,组件

表单数据 过滤器 过滤器:将数据进行简单处理后再使用 好用的第三方库的网站:BootCDN - Bootstrap 中文网开源项目免费 CDN 加速服务 显示当前时间计算属性的写法 过滤器的写法 多个过滤器可以串联 👆这里的过滤器是局部过滤器&#xff0c…

day03_java基本语法

今日内容 零、复习昨日 一、开发工具 二、Eclipse使用 三、程序解读 四、输出语句 五、常量 六、变量 七、数据类型 零、 复习昨日 见晨考.txt 一、开发工具 开发工具: Eclipse(免费),IDEA(收费) 1.1 Eclipse安装 Eclipse是绿色安全的,直接解压即可使用 1.2 启动Eclipse ps:…

原型和原型链

什么是原型? 因为每一个函数都有一个属性,这个属性名就是prototype,(即为显式原型) 这个属性的值是一个对象 每一个实例对象都有一个__proto__(即为隐式原型) 原型就是函数的prototype属性,…

excel数据比较:如何做一个完美的多条件排名方案

排名,简单;但如果有多个项目类别,并且可能存在业绩相同,怎么快速找出各个分享排名第一的人物呢?这就要通过多条件去匹配,才能找出需要的排名第一者。这里提供了两个方案,但都不够完美&#xff0…

Unity-TCP-网络聊天功能(三): 公共/私人聊天、添加好友、好友上下线、新消息提醒、点击好友聊天、退出登录

7.多人公共聊天、私人聊天、添加好友、好友上下线、新消息提醒、点击好友开始聊天、退出登录搭建好ChatView的UI和ChatItem编写Unity-Scripts/View/ChatView.cs脚本,加入了私人聊天和公共聊天逻辑,chatView界面处理接收(ChatHandle委托&#…

在 Linux 中创建用户 and 给用户设置密码相关操作

目录 一、创建用户 二、给用户设置密码相关操作 ②.①、修改用户密码 ②.②、设置用户密码 ②.③、删除用户密码 一、创建用户 语法: useradd [-g 用户组名 -d home目录] 用户名 在 Linux 中“[]”里面的内容都代表可选,可以不写。 useradd&…

【数据结构】归并排序、快速排序(递归法和非递归法)

文章目录 一、归并排序 递归法 思想 程序代码 时间复杂度 非递归法 思想 程序代码 二、快速排序(挖坑法) 思想 程序代码 时间复杂度 三、快速排序(hoare法) 思想 程序代码 hoare法错误集锦 死循环 越界 四、快…

kubernetes pod内容器状态OOMKilled和退出码137全流程解析

kubernetes pod内容器状态OOMKilled和退出码137全流程解析 - 简书 使用event_control监听memory cgroup的oom事件 - 简书 kubernetes/k8s CRI分析-kubelet删除pod分析 - 良凯尔 - 博客园 在kubernetes的实际生产实践中,经常会看到pod内的容器因为内存使用超限被内…

【My Electronic Notes系列——数字电路基础知识】

目录 序言: 🏆🏆人生在世,成功并非易事,他需要破茧而出的决心,他需要永不放弃的信念,他需要水滴石穿的坚持,他需要自强不息的勇气,他需要无畏无惧的凛然。要想成功&…

从战略、管理、业务、产品这4个维度,思考从0到1的产品设计

引言对于B端产品经理而言,从0~1的产品设计考验一个人的规划能力、统筹能力与产品设计能力,与日常产品迭代的方法流程具备差异,如何进行从0~1的产品设计?我针对自身经验梳理总结,希望下面的文章能…

教你简单学git(从零基础到进阶)

前言 什么是Git? 当你刚刚接触到程序开发行业,别人通常都会对你说:git就是用来保存代码项目的,防止代码丢失。 是这个道理没错,但是并不准确。 Git是一个分布式版本管理系统,是为了更好地管理Linux内核开发而创立的…

量子投资狂飙?四家量子计算公司两天获得巨额投资

(图片来源:网络)1月23至24日,加拿大光量子计算公司Xanadu、法国量子计算初创公司Welinq、法国量子计算公司PASQAL、瑞典查尔姆斯大学先后宣布获得新一轮巨额融资。短短两天之内,这四起融资事件无疑将量子计算领域的投资…

【数据库原理与SQL Server应用】Part03——T-SQL语言

【数据库原理与应用】Part03——T-SQL语言一、SQL语言基本概念1.1 T-SQL语言简介T-SQL语言的特点:核心SQL语言的4个部分:1.2 T-SQL语言的语法约定1.3 标识符常规标识符分隔标识符1.4 常量和变量数据类型常量变量1.5 注释1.6 运算符1.7 函数1.7.1 标量函数…

省市高速服务区智能一体机视频解决方案的设计

一、行业背景 1)传统服务模式难以满足出行需求 出行人员对高速公路服务质量的要求越来越高,传统服务模式难以满足人们对美好出行的需求,节假日拥堵、服务低效等问题影响着服务区的管理。 2)服务区智能化程度有待提高 很多高速…

激活函数有哪些?分别有哪些优缺点?【Sigmoid、tanh、ReLU、Leaky ReLU、ParametricReLU】

一、激活函数的提出 1. Motivation 通用逼近定理(Universal Approximation Theorem):一个包含单一隐含层的多层神经元网络能够以任何期望的精度近似任何连续函数。 构建神经网络的核心目的是拟合函数,通过前向传播得到拟合函数或者判别函数输出最终的结果,最初的神经网络…

Ubuntu Pro专业版笔记

Ubuntu是一个开源的操作系统,源自于Debian,以桌面和服务器端应用为主。它拥有丰富的软件仓库和社区,提供强大的稳定性和易用性。而Ubuntu Pro是Ubuntu的商业版本,提供额外的技术支持和服务。它专为企业环境设计,提供了…

【redis】1-8 Redis命令行客户端基本使用

本节目录1. 内容简介2. 操作3. Another Redis Desktop Manager查看redis中的数据4. 课程目录1. 内容简介 如何进入docker容器,登录redis命令行工具reids-cli的使用使用Another Redis Desktop Manager查看redis中的数据 2. 操作 上一章,redis使用docke…