IO基础(缓冲流)

FileInputStream、FileOutputStream、FileReader、FileWriter属于基础流。

缓冲流是高级流。能够高效的处理数据。原理:底层自带了长度为8192的缓冲区提高性能

字节缓冲流:BufferedInputStream、BufferedOutputStream

字符缓冲流:BufferedReader、BuffereWriter

字节缓冲流

public BufferedInputStream(InputStream is)把基本流包装成高级流,提高读取数据的性能
public BufferedOutputStream(OutputStream os)把基本流包装成高级流,提高写出数据的性能

 拷贝文件:

一次读取一个字节

原理:

一个读取多个字节:

一个读取多个字节原理与一次读取一个字节类似:

字符缓冲流

原理:底层自带了长度为8192的缓冲区提高性能

基本流中也有缓存区,所以提高效率情况不明显。

public BufferedReader(Reader r)把基本流变成高级流
public BufferedWriter(Writer r)把基本流变成高级流

字符缓冲流特有办法

public String  

readLine()

读取一行数据,如果没有数据可读了,返回null(输入特有方法)
public void newLine( )跨平台的换行(输出特有方法)

各平台换行:Mac:\r        Windows:\r\n        Linux:\n 

利用readLine()打印一行

 利用readLine()打印全文本

利用字符缓冲输出流写文本,newLine()换行

开启续写:

练习:软件运行次数

实现一个验证程序运行次数的小程序,要求:

1.当程序运行超过3次时给出提示:本软件只能免费使用三次,欢迎您注册会员后继续使用

2.程序运行演示如下:

  • 第一次运行控制台输出:欢迎使用本软件,第1次使用免费
  • 第二次运行控制台输出:欢迎使用本软件,第2次使用免费
  • 第二次运行控制台输出:欢迎使用本软件,第3次使用免费
  • 第四次及以后输出:本软件只能免费使用三次,欢迎您注册会员后继续使用
//验证程序运行次数
public class Test01 {public static void main(String[] args) throws IOException {//1.把文件中的数字读取到内容中BufferedReader br=new BufferedReader(new FileReader("C_S\\a.txt"));String line=br.readLine();int count=Integer.parseInt(line);//将字符型数字转为整型count++;//表示当前软件又运行了一次//2.判断if (count<=3){System.out.println("欢迎使用本软件,第"+count+"次使用免费");}else {System.out.println("本软件只能免费使用三次,欢迎您注册会员后继续使用");}//3.把当前自增之后的count写出到文件当中BufferedWriter bw=new BufferedWriter(new FileWriter("C_S\\a.txt"));bw.write(count+"");//write写97,会转换为对应数字的ASCII码,+“”就直接输出bw.close();}
}

IO:随用随创建、什么时候不用什么时候就关闭

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

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

相关文章

云数据库 Memcache

Memcached 是一个高性能的分布式内存缓存系统&#xff0c;主要用于加速动态网页应用的访问速度&#xff0c;通过减少数据库查询次数来提高系统性能。Memcached 将常用的数据存储在内存中&#xff0c;因此提供了非常快速的读取和写入操作&#xff0c;通常用于缓存热点数据&#…

高转化的Facebook广告文案的秘诀

Facebook 广告文案是制作有效 Facebook 广告的关键方面。它侧重于伴随广告视觉元素的文本内容。今天我们的博客将深入探讨成功的 Facebook 广告文案的秘密&#xff01; 一、广告文案怎么写&#xff1f; 正文&#xff1a;这是帖子的正文&#xff0c;出现在您姓名的正下方。它可…

算法基础学习Day2(双指针)

文章目录 1.题目2.题目解答1.快乐数题目及题目解析算法学习代码提交 2.题目2题目及题目解析算法学习代码提交 1.题目 202. 快乐数 - 力扣&#xff08;LeetCode&#xff09;11. 盛最多水的容器 - 力扣&#xff08;LeetCode&#xff09; 2.题目解答 1.快乐数 题目及题目解析 …

Web3与人工智能的跨界融合:数据隐私与去中心化的新机遇

随着Web3和人工智能&#xff08;AI&#xff09;技术的不断发展&#xff0c;两者的结合正在成为未来互联网的重要趋势。Web3代表着去中心化的未来&#xff0c;AI则提供了强大的智能化能力。当这两者结合时&#xff0c;不仅为数据隐私保护提供了新的解决方案&#xff0c;还推动了…

DevOps系统设计和技术选型

命名是一件痛苦的事情&#xff0c;除非你不想要一个好名字。 我正在做的这个管理系统叫什么合适&#xff0c;或者是什么类型的系统&#xff0c;想去想来不知所措&#xff0c;后来想想这么小的东西纠结什么&#xff0c;先从小的细节一点点来&#xff0c;能用就行&#xff0c;就用…

2024年华中杯数学建模A题太阳能路灯光伏板的朝向设计问题解题全过程文档及程序

2024年华中杯数学建模 A题 太阳能路灯光伏板的朝向设计问题 原题再现 太阳能路灯由太阳能电池板组件部分&#xff08;包括支架&#xff09;、LED灯头、控制箱&#xff08;包含控制器、蓄电池&#xff09;、市电辅助器和灯杆几部分构成。太阳能电池板通过支架固定在灯杆上端。…

sheng的学习笔记-AI-序列模型(Sequence Models),RNN,GRU,LSTM

Ai目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 基础知识 定义&#xff1a; 序列模型是输入输出均为序列数据的模型&#xff0c;它能够将输入序列数据转换为目标序列数据。常见的序列模型类型包括一对一、一对多、多对一、部分多对多和完全多对多。 重要的是需要有顺序…

《网络安全》相关知识点总结

第一章 安全现状及趋势 第二章 网络安全概述 2.1 信息保障阶段 信息保障技术框架IATF&#xff1a; 由美国国家安全局制定&#xff0c;提出“纵深防御策略” DiD&#xff08;Defense-in-Depth Strategy&#xff09; 在信息保障的概念下&#xff0c;信息安全保障的PDRR模型的内涵…

DApp浏览器能否集成在自己开发的DApp里?

答案是肯定的。在技术层面&#xff0c;DApp浏览器可以完全集成到你自己开发的DApp中&#xff0c;从而提供一个一体化的用户体验。本文将详细分析如何实现这一目标&#xff0c;以及其中的技术实现、优势和需要注意的问题。 一、什么是DApp浏览器&#xff1f; DApp浏览器是一种支…

MySQL--用户权限

1.使用root用户登录MySQL客户端&#xff0c;创建一个名为userl的用户&#xff0c;初始密码为123456;创建一个名为user2的用户&#xff0c;无初始密码。然后&#xff0c;分别使用uesr1、user2登录MySQL 客户端。 创建两个用户 使用user1登录 使用user2登录 2.使用root用户登录&a…

星海智算:skl-videolingo-2.0(AI视频翻译)使用教程

&#xff08;一&#xff09;项目介绍 VideoLingo是一款专为视频创作者设计的开源自动化工具&#xff0c;旨在提供从视频字幕生成到声音克隆配音的一站式服务。以下是对VideoLingo的详细介绍&#xff1a; 1、核心功能​ 1.1、一键全自动视频搬运​ 支持从YouTube等平台下载视…

SQL靶场第八关攻略

一.判断类型 输入?id1 and 11-- 输入?id1 and 12--页面都正常&#xff0c;说明不是数值型 输入?id1页面没有回显 加上--页面正常&#xff0c;说明是字符型注入 二.判断列数 输入?id1 order by 3--页面正常 输入?id1 order by 4--页面没有回显&#xff0c;说明一共有三列…

华为HCIP-Datacom H12-821H12-831 (12月最新题库)

备考HCIP-datacom的小伙伴注意啦 !!! 2024年下半年12月份最新(H12-821和H12-831)题库带解析,有需要的小伙伴移动至文章末 H12-821: H12-831: 1.BGP 邻居建立过程的状态存在以下几种&#xff1a;那么建立一个成功的连接所经历的状态机顺序是 A、3-1-2-5-4 B、1-3-5-2-4 C、…

Flask使用长连接

Flask使用flask_socketio实现websocket Python中的单例模式 在HTTP通信中&#xff0c;连接复用&#xff08;Connection Reuse&#xff09;是一个重要的概念&#xff0c;它允许客户端和服务器在同一个TCP连接上发送和接收多个HTTP请求/响应&#xff0c;而不是为每个新的请求/响…

MR30分布式 I/O 模块助力 CNC 设备产能飞跃

背景分析 在现代制造业中&#xff0c;CNC 设备扮演着极为关键的角色。然而&#xff0c;CNC 设备在运行过程中也存在着诸多痛点。传统的 CNC 设备往往在控制与通信方面存在局限&#xff0c;其内部的 I/O 系统大多采用集中式架构。这种架构下&#xff0c;一旦需要处理大量的输入输…

远程修改ESXi 6.7管理IP地址

1.启用安全Shell&#xff08;也就是EXSi可以被SSH访问的功能&#xff09; 2.使用SecureCRT SSH2连接ESXi主机&#xff0c;现在使用dcui并没有任何反应&#xff0c;在Session标签栏右键点击Disconnect。 The time and date of this login have been sent to the system logs.WA…

Vulnhub靶场 Kioptrix: Level 1 (#1) 练习

目录 0x00 环境准备0x01 主机信息收集0x02 站点信息收集0x03 漏洞查找与利用1. 方法一&#xff1a;mod_ssl 2.8.42. 方法二&#xff1a;CVE-2003-02013. 方法三&#xff1a;Samba 0x04 总结 0x00 环境准备 下载链接&#xff1a;http://www.kioptrix.com/dlvm/Kioptrix_Level_1.…

消息中间件-Kafka3-kafkaJavaClient小例

消息中间件-Kafka3-kafkaJavaClient小例 Kafak Java Client private static final String KAFKA_TOPIC "kafak-test";private static String bootstrapServers "localhost:9092";private static AdminClient client null;static {Properties config n…

关于光耦合器的常见误解

光耦合器以其提供电气隔离的能力而闻名&#xff0c;广泛应用于从电源到通信系统的各种应用。尽管光耦合器非常普遍&#xff0c;但人们对其特性和用途存在一些常见的误解。本文将揭穿一些最常见的误解&#xff0c;以帮助工程师和爱好者做出更明智的决策。 误解1&#xff1a;光耦…

【简洁明快】使用python读取数据建立pptx (python-pptx图文调整案例)

使用python自动读取数据建立pptx 前言如何使用 Python 自动生成 PPTX第一步&#xff1a;安装所需库第二步&#xff1a;创建一个新的 PPTX第三步&#xff1a;添加幻灯片第四步&#xff1a;添加内容添加文本添加图片第五步&#xff1a;保存 PPTX 图文实操案例&#xff08;自动读取…