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

java-io流

  1. 根据流的方向

    • 输入流(InputStream/Reader):从数据源读取数据到程序中。
    • 输出流(OutputStream/Writer):将数据从程序写入到目的地。
  2. 根据流处理信息的大小

    • 字节流(Byte Streams):以字节为单位处理数据,适用于所有类型的数据传输,如二进制文件。
    • 字符流(Character Streams):以字符为单位处理数据,通常用于文本数据的读写,内部会处理字符编码问题。
  3. 根据流的功能

    • 节点流(Node Streams):直接与特定的数据源或目的地相连的流,例如FileInputStreamFileOutputStreamFileReader, 和 FileWriter等。
    • 处理流(Processing Streams):在其他流之上添加功能的流,比如缓冲、过滤、转换等。常见的处理流有BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriterDataInputStreamDataOutputStreamObjectInputStreamObjectOutputStream等。

例子

输入流和输出流的例子
  • 字节流示例:
/*** 字节缓冲流 ,完成 图片复制* @param args*/public static void main2(String[] args) throws IOException {//1.获得数据源对象:File filei=new File("D:\\1.png");File fileo=new File("E:\\new.png");//2.获得管道对象,同时管理数据源:FileInputStream fis=new FileInputStream(filei);FileOutputStream fos=new FileOutputStream(fileo);BufferedInputStream bis=new BufferedInputStream(fis);BufferedOutputStream bos=new BufferedOutputStream(fos);//3.读写:byte[] bys=new byte[1024*8];int i=bis.read(bys);while(i!=-1){bos.write(bys);i=bis.read(bys);}//4.关闭:先开后关,关闭高级流,低级流回自动关闭bos.close();bis.close();System.out.println("图片复制成功!");}
  • 字符流输出示例:
 /*** 字符流输出* @param args* @throws IOException*/public static void main1(String[] args) throws IOException {//1.获得数据源对象:File file=new File("E:\\dz15\\1.txt");//2.获得流对象,同时连接数据源:FileWriter fw=new FileWriter(file,true);System.out.println("请输入你要存储的信息:");Scanner input=new Scanner(System.in);String str=input.next();while(!str.equals("exit")){//3.写入fw.write(str);fw.write("\n");fw.flush();System.out.println("请输入你要存储的信息:");str=input.next();}//4.关闭:fw.close();System.out.println("退出程序!");}
数据流和对象流的例子

数据流的例子

  /*** 数据流!* 对存入和取出的数据保存,数据类型!* @param args*/public static void main3(String[] args) throws IOException {//控制台输入字符串,整数,小数,boolean 存入文件里,取出后,任然能做类型处理!Scanner input=new Scanner(System.in);String str=input.next();int i=input.nextInt();double dou=input.nextDouble();boolean boo=input.nextBoolean();File file =new File("E:\\dz15\\1.txt");FileOutputStream fos=new FileOutputStream(file);DataOutputStream dos=new DataOutputStream(fos);dos.writeUTF(str);dos.writeDouble(dou);dos.writeBoolean(boo);dos.writeInt(i);FileInputStream fis=new FileInputStream(file);DataInputStream dis=new DataInputStream(fis);System.out.println(dis.readUTF().concat("..."));System.out.println(dis.readDouble()+1);System.out.println(dis.readBoolean()?"true":"false");System.out.println(dis.readInt()+1);fis.close();fos.close();}

对象流的例子

 /*** 对象流:将内存里的对象(属性)---一起写入文件里。---序列化;反序列化* @param args*/public static void main4(String[] args) throws IOException, ClassNotFoundException {//1.获得数据源对象:File file =new File("E:\\dz15\\2.txt");//2.获得管道对象 ,同时连接数据源:FileOutputStream fos=new FileOutputStream(file);ObjectOutputStream oos=new ObjectOutputStream(fos);//3.写入:Person person=new Person();person.setSal(9000.0);person.setAge(34);person.setId("23456");person.setName("张三");oos.writeObject(person);//4.关闭:oos.close();System.out.println("写出成功");System.out.println("==============");//2.获得管道流对象 同时关联数据源:FileInputStream fis=new FileInputStream(file);ObjectInputStream ois=new ObjectInputStream(fis);//3.读取:Person person1 = (Person)ois.readObject();System.out.println(person1);//4.关闭:ois.close();}

 

喜欢这期内容的话,别忘了点个赞,关注博主,这样就不会错过任何更新啦!还有,收藏一下,方便以后回顾哦!

相关文章:

java-io流

根据流的方向: 输入流(InputStream/Reader):从数据源读取数据到程序中。输出流(OutputStream/Writer):将数据从程序写入到目的地。 根据流处理信息的大小: 字节流(Byte S…...

数据可视化

数据可视化 数据可视化 数据可视化主要目的:借助于图形化手段,清晰有效地传达与沟通信息。数据可视化可以把冰冷的数字转换成图形,揭示蕴含在数据中的规律和道理。 常用的数据可视化库: D3.js 目前 Web 端评价最高的 Javascri…...

CompletableFuture使用详解

一、 CompletableFuture介绍 平时多线程开发一般就是使用Runnable,Callable,Thread,FutureTask,ThreadPoolExecutor这些内容和并发编程息息相关。相对来对来说成本都不高,多多使用是可以熟悉这些内容。这些内容组合在…...

【长期有效】短链接生成-短链接-短网址-短链接生成接口-短链接转换接口-短网址URL生成-短链接-短网址-短域名-短链接

短链接API接口的作用主要体现在以下几个方面: 一、链接缩短与分享优化 短链接API接口的主要功能是将长链接转换为短链接。这种转换使得链接更加简洁、易读和易分享,尤其在社交媒体、电子邮件、短信等字符受限或按字符计费的场合中,短链接能…...

使用Idea自带的git功能进行分支合并

文章目录 1.背景描述2.分支切换3.分支合并的具体操作4.将在local环境下,从dev合并到qas分支上的代码,推送到远端 1.背景描述 目前在开发的当前项目有四个分支,master(主分支)、pre(预生产分支)、qas(测试分支)、dev(开发分支); …...

工业摄像机基于电荷耦合器件的相机

工业摄像机系列产品及其识别技术的详细介绍: 一、工业摄像机概述 工业摄像机是利用光学成像技术获取视觉信息,并通过图像处理算法分析这些信息的设备。它通常具有高图像稳定性、高传输能力和高抗干扰能力等特性,适用于各种复杂的工业环境。 …...

【期末大作业】使用Python熟练掌握面向对象

引言 在编程学习过程中,构建项目是一个非常有效的方式,不仅能巩固和应用所学的知识,还能通过实践来解决实际问题。本文将通过几个经典的项目示例来展示如何用面向对象的方式设计和实现一个完整的系统,包括学生成绩管理系统、图书…...

JAVA:代理模式(Proxy Pattern)的技术指南

1、简述 代理模式(Proxy Pattern)是一种结构型设计模式,用于为其他对象提供一种代理,以控制对这个对象的访问。通过代理模式,我们可以在不修改目标对象代码的情况下扩展功能,满足特定的需求。 设计模式样例:https://gitee.com/lhdxhl/design-pattern-example.git 2、什…...

【MAC】深入浅出 Homebrew 下 Nginx 的安装与配置指南

硬件:Apple M4 Pro 16寸 系统: macos Sonoma 15.1.1 Nginx 是一款高性能的 Web 服务器和反向代理服务器,广泛应用于全球各地的网站和企业应用中。本文将详细介绍如何在 macOS 环境下使用 Homebrew 安装、启动、管理以及优化配置 Nginx&#x…...

【华为OD-E卷-寻找关键钥匙 100分(python、java、c++、js、c)】

【华为OD-E卷-寻找关键钥匙 100分(python、java、c、js、c)】 题目 小强正在参加《密室逃生》游戏,当前关卡要求找到符合给定 密码K(升序的不重复小写字母组成) 的箱子,并给出箱子编号,箱子编…...

SQL MID()

SQL中的MID()函数是一个用于从指定位置开始截取字符串中指定长度的子串的函数。这个函数在数据库查询和数据处理中经常被使用,特别是在需要从较长的文本字段中提取特定信息时。 MID()函数的基本语法是:SELECT MID(column_name, start, length) FROM tab…...

Sui 基金会任命 Christian Thompson 为新任负责人

Sui 基金会是专注于推动 Sui 蓬勃发展的生态增长与采用的机构。近日,基金会宣布任命 Christian Thompson 为新任负责人。在 Sui 主网发布的开创性一年里,Sui 凭借其无与伦比的速度、可扩展性和效率,迅速崛起为领先的 Layer 1 区块链之一&…...

ViEW生命周期

Vue的生命周期是指Vue实例从创建到销毁的整个过程,包括多个阶段和对应的钩子函数。以下是Vue生命周期的详细说明: 1. **创建阶段**: - beforeCreate:在实例初始化之前调用,此时数据观测和事件配置尚未完成,…...

[蓝桥杯 2019 国 B] 排列数

目录 前言 题解 思路 疑问 解答 前言 对于本篇文章是站在别人的基础之上来写的,对于这道题作为2019年国赛B组的最难的一题,他的难度肯定是不小的,这道题我再一开始接触的时候连思路都没有,也是看了两三遍别人发的题解&#x…...

python 中执行from elasticsearch import Elasticsearch,AsyncElasticsearch 报错

在 Python 中执行 from elasticsearch import Elasticsearch, AsyncElasticsearch 时,如果提示 AsyncElasticsearch 不存在,可能是因为以下几个原因: 1. 安装的 elasticsearch 库版本不匹配 AsyncElasticsearch 是在 elasticsearch 库的较新版本中引入的。如果你安装的版本…...

git 删除鉴权缓存及账号信息

在Windows系统下 清除凭证管理器中的Git凭据 按下Win R键,打开“运行”对话框,输入control,然后回车,打开控制面板。在控制面板中找到“用户账户”,然后点击“凭据管理器”。在凭据管理器中,找到“Windows…...

浏览器要求用户确认 Cookies Privacy(隐私相关内容)是基于隐私法规的要求,VUE 实现,html 代码

Cookie Notices and Cookie Consent | Cookiepedia 1. 法律法规要求 许多国家和地区的隐私法律要求网站在存储或处理用户数据(包括 Cookies)之前必须获得用户的明确同意: GDPR(欧盟通用数据保护条例) 要求&#xff…...

数据结构:栈和队列的实现

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。 栈中的数据元素遵守后进先出 LIFO ( Last In First Out )的原则。 压栈:栈…...

2024.12.21辩论赛感受

背景 今天辩论赛的双方论点是: 正方:寒假留在研发中心的收获大 反方:寒假去做其他事情的收获 辩论赛,为了锻炼自己,选择了不想选择以及相对不好辩论的反方。出现的状况有一下几点: 1.发现自己脑子完全跟不…...

JAVA:组合模式(Composite Pattern)的技术指南

1、简述 组合模式(Composite Pattern)是一种结构型设计模式,旨在将对象组合成树形结构以表示“部分-整体”的层次结构。它使客户端对单个对象和组合对象的使用具有一致性。 设计模式样例:https://gitee.com/lhdxhl/design-pattern-example.git 2、什么是组合模式 组合模式…...

圣诞快乐(h5 css js(圣诞树))

一,整体设计思路 圣诞树h5(简易) 1.页面布局与样式: 页面使用了全屏的黑色背景,中央显示圣诞树,树形由三层绿色的三角形组成,每一层的大小逐渐变小。树干是一个棕色的矩形,位于三角…...

移植 OLLVM 到 LLVM18,修复控制流平坦化报错

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 前言 把 OLLVM 移植到 LLVM18 后,发现 -fla(控制流平坦化)并不能正常使用。 关于移植过程可以参考这篇文章 【移植 OLLVM…...

MFC/C++学习系列之简单记录——序列化机制

MFC/C学习系列之简单记录——序列化机制 前言简述六大机制序列化机制使用反序列化总结 前言 MFC有六大机制,分别是程序启动机制、窗口创建机制、动态创建机制、运行时类信息机制、消息映射机制、序列化机制。 简述六大机制 程序启动机制:全局的应用程序…...

【网络云计算】2024第51周-每日【2024/12/17】小测-理论-解析

文章目录 1. 计算机网络有哪些分类2. 计算机网络中协议与标准的区别3. 计算机网络拓扑有哪些结构4. 常用的网络设备有哪些,分属于OSI的哪一层5. IEEE802局域网标准有哪些 【网络云计算】2024第51周-每日【2024/12/17】小测-理论-解析 1. 计算机网络有哪些分类 计算…...

Python中的上下文管理器:从资源管理到自定义实现

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 Python中的上下文管理器(Context Manager)为资源管理提供了强大的支持,尤其在处理文件、网络连接、数据库连接等需要精确控制生命周期的…...

STM32 高级 物联网通信之CAN通讯

目录 CAN通讯介绍 物理层 协议层 CAN的帧(报文)种类 1 数据帧(发送单元->接受单元) 2 远程帧(接受单元->发送单元) 3 错误帧(发送方发送数据错误会发送的状态帧) 4 过载帧(接收方放不下会发送到的状态帧) 5 帧间隔(状态) 数据帧介绍 远程帧介绍 C…...

如何求解小于等于x的正整数因子y的个数总和

G ( X , Y ) X 的因子 Y 个数 G(X,Y) X的因子Y个数 G(X,Y)X的因子Y个数 例如 G ( 8 , 2 ) 3 G(8,2)3 G(8,2)3 G ( 12 , 2 ) 2 G(12,2)2 G(12,2)2 F ( X , Y ) ∑ i 1 X G ( i ) F(X, Y) \sum_{i1}^{X} G(i) F(X,Y)i1∑X​G(i) 直接上结论 F ( X , Y ) X Y 1 ⋯ X…...

Epic游戏使用mod

以土豆兄弟为例: 第一步:获取 SteamCMD 下载官方 Steam 控制台客户端 (steamCMD) 1. 下载好后打开,是一个在 cmd 窗口的运行的命令行 2. 输入以下代码登录 login anonymous 第二步: 确认自己要下载的游戏 ID 和 mod ID 然后…...

前端:纯前端快速实现html导出word和pdf

实现html导出word,需要使用两个库。 html-docx-js和file-saver 导出word的js方法 > npm install html-docx-js >npm install file-saver js引入 import FileSaver from “file-saver”; import htmlDocx from “html-docx-js/dist/html-docx”; /**导出…...

Windows装Docker至D盘/其他盘(最新,最准确,直接装)

前言 Docker的默认安装路径为 C:\你的用户名\AppData\Local\Docker\wsl这样安装常常会导致C盘爆满。目前现有博客的安装方法往往不能把docker的container和image也装在非C盘。本博客旨在用最简单的方式,把Docker Deskstop的images和container装在D盘中。 安装前&a…...

2024 年 IA 技术大爆发深度解析

摘要: 本文旨在深入剖析 2024 年 IA 技术大爆发所引发的多方面反响。通过对产业变革、经济影响、就业市场、社会影响、政策与监管以及未来展望等维度的探讨,揭示 IA 技术在这一关键时期对全球各个层面带来的深刻变革与挑战,并提出相应的思考与…...

现代 CSS 布局与响应式设计实战指南

作为一名前端开发者,我经常被问到:"为什么你的页面布局这么流畅?响应式适配这么完美?"今天,我就来分享一下在实际项目中常用的 CSS 布局技巧和响应式设计方案。 现代布局三剑客:Flex、Grid 和 C…...

react 项目打包二级目 使用BrowserRouter 解决页面刷新404 找不到路由

使用BrowserRouter package 配置 &#xff08;这部分代码可以不做配置也能实现&#xff09; {"homepage": "/admin",}vite.config 配置 export default defineConfig({base: /admin])BrowserRouter 添加配置项 <BrowserRouter basename/admin>&l…...

Yolo11改进策略:Block改进|使用FastVit的RepMixerBlock改进Yolo11,重参数重构助力Yolo11涨点(全网首发)

文章目录 摘要FastViT:一种使用结构重新参数化的快速混合视觉变换器1、简介2、相关工作3、体系结构3.1、概述3.2、FastViT3.2.1、重新参数化跳过连接3.2.2、线性训练时间过参数化3.2.3、大核卷积4、实验4.1、图像分类4.2、鲁棒性评价4.3、3D Hand网格估计4.4、语义分割和目标检…...

2.6 网络面试问题

tcp 与 udp的区别 1.tcp 是基于连接的 UDP是基于数据包 2.处理并发的方式不通 a.tcp用epoll进行监听的 b. udp是模拟tcp的连接过程&#xff0c;服务端开放一个IP端口&#xff0c;收到连接后&#xff0c;服务端用另一个IP和端口发包给客户端。 3.tcp根据协议MTU黏包及…...

02-10.python入门基础一Python模块与包(二)

五、Python 包的概念 &#xff08;一&#xff09;包的定义与结构 在 Python 中&#xff0c;“包”&#xff08;Package&#xff09;是一种按照目录来组织模块的方式&#xff0c;它允许开发者将相关的模块集合在一起&#xff0c;形成一个更具逻辑性和结构性的代码单元。 从物…...

[WiFi] WiFi 802.1x介绍及EAP认证流程整理

802.1X Wi-Fi 802.1X 是一种网络访问控制协议&#xff0c;常用于保护无线网络。它提供了一种基于端口的网络访问控制机制&#xff0c;主要用于在用户和网络之间建立安全的连接。以下是 802.1X 的一些关键特点&#xff1a; 认证框架 802.1X 使用 EAP&#xff08;可扩展认证协议…...

前端通过new Blob下载文档流(下载zip或excel)

当后端返回这样的预览&#xff1a; 前端该如何下载呢&#xff1f;首先在axios请求里&#xff0c;加入第三个参数{ responseType: ‘blob’ }。 proxy.$post(url, params, { responseType: blob }).then((res)>{downloadFormat(res) });然后在一个函数里处理返回&#xff0c…...

R 常用的内置软件包及功能介绍

R 中有许多内置包&#xff0c;提供了丰富的功能来帮助用户进行数据分析、统计建模、图形可视化等任务。以下是一些常用的内置包及其功能简介&#xff1a; 1. stats 包 stats 是 R 的一个核心包&#xff0c;几乎每个 R 用户都会使用它。它包含了许多统计分析的函数&#xff0c…...

基于 HC_SR04的超声波测距数码管显示(智能小车超声波避障部分)

超声波测距模块HC-SR04 1、产品特色 ①典型工作用电压&#xff1a;5V ②超小静态工作电流&#xff1a;小于 5mA ③感应角度(R3 电阻越大,增益越高,探测角度越大)&#xff1a; R3 电阻为 392,不大于 15 度 R3 电阻为 472, 不大于 30 度 ④探测距离(R3 电阻可调节增益,即调节探测…...

12月第十九讲:Redis应用Redis相关解决方案

1.数据库与缓存一致性方案 2.热key探测系统处理热key问题 3.缓存大value监控和切分处理方案 4.Redis内存不足强制回收监控告警方案 5.Redis集群缓存雪崩自动探测 限流降级方案 6.缓存击穿的解决方法 线上Redis比较严重的问题排序是&#xff1a;数据库和缓存一致性、热key…...

solon 集成 activemq-client (sdk)

原始状态的 activemq-client sdk 集成非常方便&#xff0c;也更适合定制。就是有些同学&#xff0c;可能对原始接口会比较陌生&#xff0c;会希望有个具体的示例。 <dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-client&l…...

STM32-笔记7-继电器定时开闭

1、复制02项目&#xff0c;重命名08-继电器定时开闭 打开项目工程 在\Drivers\BSP\该路径下&#xff0c;新建alarm文件夹&#xff0c;该文件夹下里面包含alarm.c和alarm.h文件 加载进该项目中 为什么这里使用的是 这个单词&#xff0c;而不是继电器&#xff08;relay&#…...

B4X编程语言:B4X的映射(数据地图Map)详解

B4X的映射(Map)是由多个键值对组成的数据集合&#xff0c;也称为数据地图。它和列表一样也是一个非可视化的数据容器&#xff0c;在B4X中作为变量使用&#xff0c;用于在单个变量下存储多个键值对。 映射中的键是唯一的。 这意味着&#xff0c;如果您添加了一个键/值对…...

windows C++ 判断文件大小,清空文件,写日志

windows C 判断文件大小&#xff0c;清空文件&#xff0c;写日志等几个常见的接口&#xff0c;记录一下备忘 #include <iostream> #include <vector> #include<Windows.h> #include<string> #include <iostream> #include <sys/types.h> …...

用Python设置Excel工作表的页眉和页脚

在处理和分析数据时&#xff0c;Excel作为一款功能强大的工具&#xff0c;被广泛应用于各个领域。当涉及到打印或分享工作表时&#xff0c;为文档添加专业的页眉和页脚不仅能提升文件的视觉效果&#xff0c;还能提供必要的信息&#xff0c;例如公司标识、日期、文件名或是页码等…...

electron-vite【实战】自定义标题栏【组件封装】(含异形标题栏,指定区域拖拽,窗口置顶,窗口最小化,窗口最大化,取消最大化,隐藏窗口到托盘等)

效果预览 技术要点 透明背景 src/main/index.ts 的 new BrowserWindow 中添加 transparent: true, // 设置窗口背景透明frame: false, // 隐藏窗口边框仅图标和标题部分可拖拽 仅图标和标题部分添加样式 drag .drag {-webkit-app-region: drag; }图标与标题栏的融合 标题栏的…...

MySQL复制问题和解决

目录 环境介绍 一&#xff0c;主库执行delete&#xff0c;从库没有该数据 模拟故障 修复故障 二&#xff0c;主库执行insert&#xff0c;从库已存在该数据 模拟故障 故障恢复 三&#xff0c;主库执行update&#xff0c;从库没有该数据 模拟故障 故障恢复 四&#xf…...

Spark和Hive的区别

1 、 Hive Hive 是基于 Hadoop 的数据仓库工具&#xff0c;同时又是查询引擎&#xff0c; Spark SQL 只是取代的 Hive 的查询引擎这一部分&#xff0c;企业可以使用HiveSpark SQL 进行开发。 Hive 的主要工作如下&#xff1a; 把HQL 翻译长 map-reduce 的代码&#xff0c;并…...

Type-C 接口电热毯:开启温暖智能新时代

在当今科技迅猛发展的时代&#xff0c;智能家居产品如同璀璨繁星般点缀着我们的生活&#xff0c;从智能灯光的温馨到温控系统的精准&#xff0c;处处都彰显着科技赋予生活的便捷与舒适。而在这股追求高效与智能化的洪流之中&#xff0c;一款极具创新的电热毯——Type-C 接口电热…...