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

文件流---------获取文件的内容到控制台

总流程:先创建一个文本文件------->里面写入一些内容(纯字母和字母加文字)----------->

然后通过输入流获取文件里面的内容,两种方式。

1.第一种,获取单个的字符 ,先创建文件 ,java.txt

        //路径为D盘,文件名为java.txtString path = "D:\\java.txt";//创建一个文件对象,用来准备创建文件File file = new File(path);//进行判断D盘下是否存在java.txt文件,如果没有那么将创建if (!file.exists()){file.createNewFile();System.out.println("文件创建成功");}else {System.out.println("文件已存在");}

 

2.准备在文件里面写入一些内容,比如hello,world,并且保存。(纯字节)

3.准备读取用文件流,通过read方法获取返回值,用char将返回值转换为原内容。

        //创建文件流的对象,用来进行读取FileInputStream fileInputStream = new FileInputStream(path);//fileInputStream.read() 通过文档你可以发现,返回结果是int类型,// 所以这里用int接收,-1代表读取结束int len ;//由于要输出获取的值,需要用循环获取while ((len = fileInputStream.read()) != -1){//由于len是数字,需要转换为字符,所以用字符类型接收System.out.print((char)len);}

      

4.如果说该文件内部,还有汉字,那么将会出现乱码,因为这个是一个一个字节读取方式,汉字可能占取3个字节,所以会出现乱码,就不建议使用这种 方式。看演示:

会发现后面的汉字全部变成乱码。所以不能用字节流获取带字符的内容

5.那么我们可以使用另外一种方式,利用数组的形式,一次性获取多个字节,

       //创建文件流的对象,用来进行读取FileInputStream fileInputStream = new FileInputStream(path);//fileInputStream.read() 通过文档你可以发现,返回结果是int类型,//定义一个8个大小的空间byte[] buf = new byte[15];// 所以这里用int接收,-1代表读取结束int len ;//由于要输出获取的值,需要用循环获取while ((len = fileInputStream.read(buf)) != -1){//由于len是数字,需要转换为字符,所以用字符类型接收System.out.print(new String(buf,0,len));}

通过数组一次性获取多个字节,然后将返回值返回的方式,可以获取文件内的中文

相关文章:

文件流---------获取文件的内容到控制台

总流程:先创建一个文本文件------->里面写入一些内容(纯字母和字母加文字)-----------> 然后通过输入流获取文件里面的内容,两种方式。 1.第一种,获取单个的字符 ,先创建文件 ,java.txt…...

【PyTorch项目实战】反卷积(Deconvolution)

文章目录 一、卷积(Convolution)二、反卷积(Deconvolution) —— 又称去卷积1. 反卷积(Richardson-Lucy,RL) —— —— 通过不断迭代更新图像估计值2. 转置卷积(Transpose Convoluti…...

SpringBoot无法访问静态资源文件CSS、Js问题

在做一个关于基于IDEASpringBootMaveThymeleaf的系统实现实验时候遇到了这个问题一直无法解决 后来看到一篇博客终于解决了。 springboot项目在自动生成的时候会有两个文件夹&#xff0c;一个是static,一个是templates&#xff0c;如果我们使用 <dependency><groupI…...

powerbi制作中国式复杂报表

今天主要想实现的功能是使用powerbi制作一个中国式的复杂报表&#xff0c;其中需要多表头&#xff0c;另外需要多个度量值如图我们最终要实现的样式是这样的&#xff1a; 错误示范 因为这些作为多表头的维度需要在同一行上作为不同的列显示所以他们需要来自于同一个字段&#…...

CMake中set_property接口及属性作用详解

在 CMake 中&#xff0c;set_property 是一个用于设置 属性&#xff08;Property&#xff09; 的核心命令。属性是 CMake 中用于控制构建过程的核心机制之一&#xff0c;可以理解为与特定对象&#xff08;如目标、目录、源文件等&#xff09;关联的键值对&#xff0c;用于存储配…...

设计模式——抽象工厂模式总结

理解了前面的工厂模式后&#xff0c;再理解抽象工厂模式就很容易了。 工厂模式&#xff1a;https://blog.csdn.net/inside802/article/details/147170118?spm1011.2415.3001.10575&sharefrommp_manage_link 抽象工厂模式就是工厂模式的更加抽象化&#xff0c;父类不仅不承…...

ChatGPT-如何让AI写作不那么生硬!

在使用聊天机器人撰写文章时&#xff0c;可能会遇到频繁使用“首先”、“其次”、“再次”等转折连接词&#xff0c;这会让文章显得呆板和机械&#xff0c;降低了阅读体验。 解决这个问题可以尝试以下方式&#xff01; 多样化连接词&#xff1a; 使用更多多样的连接词和过渡短…...

禁止页面滚动的方法-微信小程序

在微信小程序中&#xff0c;有几种方法可以禁止页面滚动&#xff1a; 一、通过页面配置禁止滚动 在页面的JSON配置文件中设置&#xff0c;此方法完全禁止页面的滚动行为&#xff1a; {"disableScroll": true }二、通过 CSS 样式禁止滚动 在页面的WXSS文件中添加&…...

C++——继承、权限对继承的影响

目录 继承基本概念 编程示例 1.基类&#xff08;父类&#xff09;Person 代码特点说明 权限对类的影响 ​编辑 编程示例 1. 公有继承 (public inheritance) 2. 保护继承 (protected inheritance) 3. 私有继承 (private inheritance) 重要规则 实际应用 继承基本概…...

js中 剩余运算符(Rest Operator )(...)和展开运算符(Spread Operator)(...)的区别及用法

1、基本说明 在JavaScript中&#xff0c;剩余运算符&#xff08;Rest Operator&#xff09;和展开运算符&#xff08;Spread Operator&#xff09;虽然在某些方面有相似之处&#xff0c;但它们各自有不同的用途和功能。下面详细解释这两种运算符的区别&#xff1a; 1.1. 剩余…...

雅思练习总结(二十六)

雅思练习总结(二十六) 本文章是雅思练习总结(二十六),总结了文章《MAKING EVERYDROP COUNT》,内容包括原文精翻,文章脉络总结,单词扩展学习3个部分 1 文章原文及翻译 MAKING EVERYDROP COUNT 翻译:让每一滴水,都充满价值 A The history of human civilisation i…...

华为手机清理大数据的方法

清理手机最大的问题是&#xff0c;手动和自动清理了多次&#xff0c;花费了很长时间&#xff0c;但是只腾挪出来了一点点空间&#xff0c;还是有很大空间无法使用&#xff0c;这篇文章就告诉你怎样做&#xff0c;以花瓣剪辑为例&#xff0c;如下&#xff1a; 删除数据&#xff…...

单元测试原则之——不要过度模拟

什么是过度模拟? 过度模拟(over-mocking)是指在单元测试中,模拟了太多依赖项,甚至模拟了本不需要模拟的简单对象或行为。过度模拟会导致: 测试代码变得复杂,难以阅读和维护。测试逻辑偏离了实际业务逻辑,无法验证真实代码的行为。忽略了被测单元与依赖项之间的真实交互…...

操作系统基础:07 我们的任务

课程回顾与后续规划 上节课我们探讨了操作系统的历史。了解历史能让我们明智&#xff0c;从操作系统的发展历程中&#xff0c;我们总结出两个核心的里程碑式图像&#xff1a;多进程&#xff08;多任务切换&#xff09;图像和文件操作图像 。Unix和Windows等系统的成功&#xf…...

微服务的服务调用详解以及常见解决方案对比

微服务服务调用详解 1. 服务调用分类 服务调用根据通信方式、同步性、实现模式可分为以下类型&#xff1a; 按通信协议分类 类型典型协议/框架特点RPC&#xff08;远程过程调用&#xff09;Dubbo、gRPC、Apache Thrift高性能、二进制协议、强类型定义HTTP/RESTSpring RestTe…...

Verilog:LED呼吸灯

模块接口说明 信号方向描述clk输入系统时钟&#xff08;100MHz&#xff0c;周期10ns&#xff09;rst_n输入低电平有效的异步复位信号led_en输入总使能信号&#xff08;1开启呼吸灯&#xff0c;0关闭&#xff09;speed_en输入呼吸速度调节使能信号speed[2:0]输入呼吸速度分级&a…...

一个很好用的vue2在线签名组件

在前端开发的日常工作中&#xff0c;我们常常会遇到需要用户进行在线签名的需求&#xff0c;比如电子合同签署、表单确认等场景。最近&#xff0c;我在项目里使用了一款极为好用的 Vue2 在线签名组件&#xff0c;今天就来和大家分享一下使用心得。 效果图 上代码 在 views 下…...

C语言实现TcpDump

一、 在 C 语言中实现 TCP 抓包功能&#xff0c;通常可以使用 libpcap 库。libpcap 是一个广泛使用的网络抓包库&#xff0c;它提供了捕获网络数据包的接口。 libpcap 是一个广泛使用的 C 语言库&#xff0c;用于捕获和过滤网络数据包。它提供了一个通用接口&#xff0c;用于访…...

吴恩达深度学习复盘(14)迁移学习|项目基本周期

迁移学习 迁移学习是一种机器学习技术&#xff0c;它允许我们将从一个任务中学习到的知识应用到另一个相关的任务中。其核心思想在于&#xff0c;很多情况下&#xff0c;从头开始训练一个模型需要大量的数据和计算资源&#xff0c;而迁移学习能够复用在已有数据上训练好的模型…...

【STM32】STemWin库,使用template API

目录 CubeMX配置 工程文件配置 Keil配置 STemwin配置 GUIConf.c LCDConf.c 打点函数 修改屏幕分辨率 GUI_X.c 主函数 添加区域填充函数 移植过程中需要一些参考手册&#xff0c;如下 STemwin使用指南 emWin User Guide & Reference Manual CubeMX配置 参考驱…...

Matlab Add Legend To Graph-图例添加到图

Add Legeng To Graph: Matlab的legend&#xff08;&#xff09;函数-图例添加到图 将图例添加到图 ,图例是标记绘制在图上的数据序列的有用方法。 下列示例说明如何创建图例并进行一些常见修改&#xff0c;例如更改位置、设置字体大小以及添加标题。您还可以创建具有多列的图…...

AI基础04-日志数据采集

上篇文章我们学习了视频的数据采集&#xff0c;今天主要了解一下日志数据采集的方法。日志数据采集的目的通常是&#xff1a;调试、运维监控和业务分析。调试主要是工程师在程序异常时针对关键环节把相关参数通过日志打印出来&#xff0c;找出哪个环节出现了问题。运维监控主要…...

文章记单词 | 第29篇(六级)

一&#xff0c;单词释义 AI /ˌeɪ ˈaɪ/ abbr. 人工智能&#xff08;Artificial Intelligence&#xff09;inventory /ˈɪnvəntri/ n. 存货清单&#xff1b;财产清单&#xff1b;库存货物&#xff1b;存货&#xff1b;v. 编制目录&#xff1b;开列清单&#xff1b;盘存cha…...

Arduino示例代码讲解:String substring() 字符串子链

Arduino示例代码讲解:String substring 字符串子链 String substring() 字符串子链程序功能概述功能:硬件要求:输出:代码结构`setup()` 函数`loop()` 函数创建字符串:提取子字符串:无限循环:运行过程代码输出解释原始字符串:提取子字符串:注意事项String substring() …...

2025年七星棋牌跨平台完整源码解析(200+地方子游戏+APP+H5+小程序支持,附服务器镜像导入思路)

目前市面上成熟的棋牌游戏源码很多&#xff0c;但能做到平台全覆盖、地方玩法丰富、交付方式标准化的系统却不多。今天这套七星棋牌2023完整源码具备安卓/iOS/H5/微信小程序端四端互通能力&#xff0c;附带200多款地方子游戏&#xff0c;还配备了后台管理与自动热更系统&#x…...

Odoo 部署本地 把現時的excel計算表格部署上odoo 教程

要将现有的 Excel 计算表格部署到 Odoo 平台上&#xff0c;您可以按照以下步骤进行操作&#xff1a; 将 Excel 表格中的数据转移到 Odoo 模块中&#xff1a;首先&#xff0c;您需要将 Excel 表格中的数据导出为 CSV 格式&#xff0c;然后可以使用 Odoo 的数据导入功能将这些数据…...

compose map 源码解析

目录 TileCanvas ZoomPanRotateState ZoomPanRotate 布局,手势处理完了,就开始要计算tile了 MapState TileCanvasState telephoto的源码已经分析过了.它的封装好,扩展好,适用于各种view. 最近又看到一个用compose写的map,用不同的方式,有点意思.分析一下它的实现流程与原…...

Go语言--语法基础4--基本数据类型--整数类型

整型是所有编程语言里最基础的数据类型。 Go 语言支持如下所示的这些整型类型。 需要注意的是&#xff0c; int 和 int32 在 Go 语言里被认为是两种不同的类型&#xff0c;编译器也不会帮你自动做类型转换&#xff0c; 比如以下的例子会有编译错误&#xff1a; var value2 in…...

mysql事务脏读 不可重复读 幻读 事务隔离级别关系

看了很多文档&#xff0c;发现针对事务并发执行过程中的数据一致性问题&#xff0c;即脏读、不可重复读、幻读的解释一塌糊涂&#xff0c;这也不能说什么&#xff0c;因为官方SQL标准中的定义也模糊不清。 按照mysql中遵循的事务隔离级别&#xff0c;可以梳理一下其中的关系 隔…...

智慧乡村数字化农业全产业链服务平台建设方案PPT(99页)

1. 农业全产业链概念 农业全产业链是依托数字化、电子商务、云计算等技术&#xff0c;整合规划咨询、应用软件设计与开发等服务&#xff0c;推动农业产业升级和价值重塑&#xff0c;构建IT产业融合新生态。 2. 产业链技术支撑 利用云计算、大数据、区块链等技术&#xff0c;为…...