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

IO流的基础详解

文件【1】File类:

封装文件/目录的各种信息,对目录/文件进行操作,但是我们不可以获取到文件/目录中的内容。


【2】引入:IO流:

I/O : Input/Output的缩写,用于处理设备之间的数据的传输。


【3】形象理解:IO流 当做一根 “管”:

备注:判断一个流是输入的还是输出的,是以程序为基准,进入程序叫输入,出程序叫输出。

【4】IO流的体系结构:

【5】案例:通过java程序完成文件的复制操作

功能分解1:文件 --》程序:FileReader

一个字符一个字符的将文件中的内容读取到程序中了:package com.msb.io01;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/*** @author : msb-zhaoss*/
public class Test01 {//这是一个main方法,是程序的入口:public static void main(String[] args) throws IOException {//文件--》程序://1.有一个文件:----》创建一个File类的对象File f = new File("d:\\Test.txt");//2.利用FileReader这个流,这个“管”怼到源文件上去   ---》创建一个FileReader的流的对象FileReader fr = new FileReader(f);//3.进行操作“吸”的动作  ---》读取动作/*下面的代码我们验证了:如果到了文件的结尾处,那么读取的内容为-1int n1 = fr.read();int n2 = fr.read();int n3 = fr.read();int n4 = fr.read();int n5 = fr.read();int n6 = fr.read();System.out.println(n1);System.out.println(n2);System.out.println(n3);System.out.println(n4);System.out.println(n5);System.out.println(n6);*///方式1:/*int n = fr.read();while(n!=-1){System.out.println(n);n = fr.read();}*///方式2:int n;while((n = fr.read())!=-1){System.out.println((char)n); //ASCII码转字符}//4.“管”不用了,就要关闭  ---》关闭流//流,数据库,网络资源,靠jvm本身没有办法帮我们关闭,此时必须程序员手动关闭:fr.close();}
}

 原文件内容:

多读的内容展示

想一次性读取五个字符,不够的话下次再读五个字符:package com.msb.io01;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
/*** @author : msb-zhaoss*/
public class Test02 {//这是一个main方法,是程序的入口:public static void main(String[] args) throws IOException {//文件--》程序://1.创建一个File类的对象File f = new File("d:\\Test.txt");//2.创建一个FileReader的流的对象FileReader fr = new FileReader(f);//3.读取动作//引入一个“快递员的小车”,这个“小车”一次拉5个快递:char[] ch = new char[5];//缓冲数组int len = fr.read(ch);//一次读取五个:返回值是这个数组中 的有效长度while(len!=-1){//System.out.println(len);//错误方式:因为最后一次读取时,可能会多读/*for (int i = 0 ;i < ch.length;i++){System.out.println(ch[i]);}*///正确方式:/*for (int i = 0 ;i < len;i++){System.out.println(ch[i]);}*///正确方式2:将数组转为String:String str = new String(ch,0,len);System.out.print(str);len = fr.read(ch);}//4.关闭流fr.close();}
}

相关文章:

IO流的基础详解

文件【1】File类&#xff1a; 封装文件/目录的各种信息&#xff0c;对目录/文件进行操作&#xff0c;但是我们不可以获取到文件/目录中的内容。 【2】引入&#xff1a;IO流&#xff1a; I/O &#xff1a; Input/Output的缩写&#xff0c;用于处理设备之间的数据的传输。 【3】…...

实战攻防 | 记一次项目上的任意文件下载

1、开局 开局一个弱口令&#xff0c;正常来讲我们一般是弱口令或者sql&#xff0c;或者未授权 那么这次运气比较好&#xff0c;直接弱口令进去了 直接访问看看有没有功能点&#xff0c;正常做测试我们一定要先找功能点 发现一个文件上传点&#xff0c;不过老规矩&#xff0c;还…...

熔断之神:探寻Hystrix的秘密与实践指南

引言&#xff1a; 在微服务架构中&#xff0c;服务之间的依赖复杂且难以控制&#xff0c;容灾机制成为确保系统稳定性的重要手段。Hystrix作为Netflix开源的断路器实现&#xff0c;提供了一系列强健的容错功能。 Hystrix的核心概念与作用&#xff1a; Hystrix是一个由Netflix开…...

Web功能测试测试点总结!

web测试就是基于BS架构的软件产品的测试&#xff0c;通俗点来说就是web网站的测试。 一 、界面检查 当我们进入一个页面时&#xff0c;首先应该检查title&#xff0c;页面排版(即页面的展示)&#xff0c;而不是马上进入字段校验页面面包屑导航是否正确当前位置是否可见 您的位…...

关于vue3的简单学习

Vue 3 简介 Vue 3 是一个流行的开源Java框架&#xff0c;用于构建用户界面和单页面应用。它带来了许多新特性和改进&#xff0c;包括更好的性能、更小的打包大小、更好的Type支持、全新的组合式 API&#xff0c;以及一些新的内置组件。 一. Vue 3 的新特性 Vue 3引入了许多新…...

windows server 2019 -DNS服务器搭建

前面是有关DNS的相关理论知识&#xff0c;懂了的可以直接跳到第五点。 说明一下&#xff1a;作为服务器ip最好固定下来&#xff0c;以DNS服务器为例子&#xff0c;如果客户机的填写DNS信息的之后&#xff0c;服务器的ip如果变动了的话&#xff0c;客户机都得跟着改&#xff0c…...

使用 XCTest 进行 iOS UI 自动化测试

使用 XCTest 进行 iOS UI 自动化测试是一种有效的方法&#xff0c;可以帮助你验证应用界面的行为和功能。以下是使用 XCTest 进行 iOS UI 自动化测试的基本步骤&#xff1a; 设置项目: 确保你的 Xcode 项目已经包含了 XCTest 测试目标。在测试目标中创建一个新的测试类&#xf…...

【Python】FANUC机器人OPC UA通信并记录数据

目录 引言机器人仿真环境准备代码实现1. 导入库2. 设置参数3. 日志配置4. OPC UA通信5. 备份旧CSV文件6. 主函数 总结 引言 OPC UA&#xff08;Open Platform Communications Unified Architecture&#xff09;是一种跨平台的、开放的数据交换标准&#xff0c;常用于工业自动化…...

Linux 中断处理

一、基本概念 1、中断及中断上下文 中断是一种由硬件设备产生的信号&#xff0c;不同设备产生的中断通过中断号来区分。CPU在接收到中断信号后&#xff0c;根据中断号执行对应的中断处理程序&#xff08;Interrupt Service Routine&#xff09; 内核对异常和中断的处理类似&a…...

人大金昌netcore适配,调用oracle模式下存储过程\包,返回参数游标

using KdbndpConnection conn new KdbndpConnection("Host192.168.133.221;Port54321;Databasedb1;Poolingtrue;User IDsystem;Password123");conn.Open();//存储过程调用也是类似using var cmd conn.CreateCommand();cmd.CommandText "模式.包名称.存储过程…...

pandas常用的一些操作

EXCLE操作 读取Excel data1 pd.read_excel(excle_dir) 读Excel取跳过前几行&#xff1a; data1 pd.read_excel(excle_dir,skiprows1) 获取总行数 data1.shape[0] 获取总列数 data1.shape[1] 指定某列数据类型 data1 pd.read_excel("C:数据导入.xlsx",dtype…...

【鸿蒙开发】系统组件Row

Row组件 Row沿水平方向布局容器 接口&#xff1a; Row(value?:{space?: number | string }) 参数&#xff1a; 参数名 参数类型 必填 参数描述 space string | number 否 横向布局元素间距。 从API version 9开始&#xff0c;space为负数或者justifyContent设置为…...

Hadoop和zookeeper集群相关执行脚本(未完,持续更新中~)

1、Hadoop集群查看状态 搭建Hadoop数据集群时&#xff0c;按以下路径操作即可生成脚本 [test_1analysis01 bin]$ pwd /home/test_1/hadoop/bin [test_01analysis01 bin]$ vim jpsall #!/bin/bash for host in analysis01 analysis02 analysis03 do echo $host s…...

蓝桥杯算法题:栈(Stack)

这道题考的是递推动态规划&#xff0c;可能不是很难&#xff0c;不过这是自己第一次靠自己想出状态转移方程&#xff0c;所以纪念一下&#xff1a; 要做这些题目&#xff0c;首先要把题目中会出现什么状态给找出来&#xff0c;然后想想他们的状态可以通过什么操作转移&#xf…...

JavaWeb-监听器

文章目录 1.基本介绍2.ServletContextListener1.基本介绍2.创建maven项目&#xff0c;导入依赖3.代码演示1.实现ServletContextListener接口2.配置web.xml3.结果 3.ServletContextAttributeListener监听器1.基本介绍2.代码实例1.ServletContextAttributeListener.java2.配置web…...

系统架构设计基础知识

一. 系统架构概述系统架构的定义 系统架构&#xff08;System Architecture&#xff09;是系统的一种整体的高层次的结构表示&#xff0c;是系统的骨架和根基&#xff0c;支撑和链接各个部分&#xff0c;包括构件、连接件、约束规范以及指导这些内容设计与演化的原理&#xff0…...

Vue自定义指令介绍及使用方法

介绍​ 除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外&#xff0c;Vue 还允许你注册自定义的指令 (Custom Directives)。 之前已经介绍了两种在 Vue 中重用代码的方式&#xff1a;组件 和 组合式函数。组件是主要的构建模块&#xff0c;而组合式函数则侧重于有状态…...

React 组件生命周期函数的用法和示例代码

React 中的生命周期函数可以分为三个阶段&#xff1a;Mounting&#xff08;挂载&#xff09;&#xff0c;Updating&#xff08;更新&#xff09;和 Unmounting&#xff08;卸载&#xff09;。每个阶段都有不同的函数&#xff0c;用于执行不同的操作。 Mounting&#xff08;挂载…...

【nginx运维】[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

关于nginx端口被占用的问题&#xff1a; If you get following error, when you try to start nginx… [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) Then it means nginx or some other process is already using port 80. You can kill it using: su…...

浏览器工作原理与实践--虚拟DOM:虚拟DOM和实际的DOM有何不同

虚拟DOM是最近非常火的技术&#xff0c;两大著名前端框架React和Vue都使用了虚拟DOM&#xff0c;所以我觉得非常有必要结合浏览器的工作机制对虚拟DOM进行一次分析。当然了&#xff0c;React和Vue框架本身所蕴含的知识点非常多&#xff0c;而且也不是我们专栏的重点&#xff0c…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...