java —— 字符输入流/字符输出流

字符输入流/输出流,是指以字符为单位进行输入或输出的方式。其与字节输入流/字节输出流的用法如出一辙,只是输入/输出单位由字节改为字符。

一、字符输入流

创建步骤:

① 创建输入源文件的 File 对象:File file=new File("路径");

② 创建 File 对象的字符输入流对象:FileReader fr=new FileReader(file);

字符输入流方法的含义:

①  .read()                 返回一个整数,表示阅读到的位置,也就是这个位置上的字节的ASCII或其他编码值。每执行一次 .read(),指针跳动一个字符。跳动至末尾,返回-1。

② .read(char[] c)      返回一个整数,表示这次操作一共阅读了多少个字符,同时将阅读到的字符存入字符数组 c 中。阅读完毕,返回-1。

public static void main(String[] args) throws IOException{//创建File对象File file=new File("D:\\android\\test\\a.txt");//a.txt的内容是单词“Helloworld”,但我们假设它很长//创建FileReader对象FileReader fr=new FileReader(file);char[] c=new char[1024];               //创建一个字符数组,由于长度未知,可暂时设定为1024,如不够,再尝试其他长度。int length=0;while((length=fr.read(c))!=-1){String data=new String(c,0,length);System.out.print(data);}fr.close();                           //关闭文件资源}

二、字符输出流

总体步骤:

① 创建输出目标文件的 File 对象:File file=new File("路径");

② 创建 File 对象的字符输出流对象:FileWriter fw=new FileWriter(file) 或者FileWriter fw=new FileWriter(file,true)。不加 true 表示覆盖写入;加上 true 表示追加写入。

③ 将需要写入的字符串转化为字符数组:char[] c=字符串.toCharArray();

④ 使用字符输出流 fw 的 write 方法,执行写入。write 方法的参数有两种,一种是字符数组;另一种是字符串。

public static void main(String[] args) throws IOException
{		File file=new File("D:\\android\\test\\a.txt");FileWriter fw=new FileWriter(file,true);String s="goodbye,Tom";char[] c=s.toCharArray();fw.write(c);fw.flush();           //清空缓存区fw.close();           //关闭文件资源			   
}

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

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

相关文章

[图解]建模相关的基础知识-02

1 00:00:01,530 --> 00:00:05,200 第2个概念,谓词,Predicate 2 00:00:07,530 --> 00:00:10,800 或者叫断言,翻译各种各样都有 3 00:00:12,830 --> 00:00:15,050 实际上就是前面命题 4 00:00:15,060 --> 00:00:16,610 相当于常…

记录Nuxt 3 官网项目的一次部署

本来以为就是一次简单的部署,之前也是部署过几次nuxt项目了,所以,并没有要记录的想法。但是过程出现了很多问题,最后考虑还是写下来吧。留个记录(完整的配置部署过程) 这里我将要说明两种部署方式以供选择&…

开源网安软件安全国产化替代解决方案亮相2024澳门万讯论坛

近日,2024万讯论坛在澳门成功举办。本次论坛由万讯电脑科技主办,旨在引进国内尖端科技厂商,提供全方位的信创解决方案,分享信创化过程中所面临的挑战及阶段性转换经验。开源网安作为拥有软件安全领域全链条产品的厂商,…

如何使用 Vue CLI 创建和管理一个 Vue 项目

Vue CLI 是一个基于 Node.js 的命令行工具,可以快速创建和管理 Vue.js 项目。以下是使用 Vue CLI 创建和管理 Vue 项目的步骤: 1:安装 Vue CLI 打开终端或命令提示符,运行以下命令安装 Vue CLI: npm install -g vue/cli安装完成后,可以使用 vue --version 命令检查…

Analytical Model(分析模型)和Compact model(紧凑模型)有什么不同

Analytical Model(分析模型) 和 Compact Model(紧凑模型) 在电子工程和半导体物理领域有着不同的应用和特点: Analytical Model(分析模型): 理论基础:分析模型基于物理原理和数学公…

jeecg dictText字典值

前端列表的字典值回显,配置了数据字典后,在本地测试可以回显中文的数据, 但在线上服务器不能正常回显出来; 原因是在前端拿到records的列表值时可以拿到dictText的字典,但是线上服务器没有dictText的值; …

聚焦 Navicat 17 新特性 | 模型设计优化与创新

随着 Navicat 17 的正式发布,受到了广泛的关注和讨论。Navicat 产品力又一次大跃迁。新引入的特性显著增强了用户的数据库管理和数据分析体验,包括:模型设计与同步、数据字典、数据分析(data profiling)、用户体验、查…

共享门店模式:快速打造连锁实体店

在数字化浪潮的冲击下,许多线下实体店正面临前所未有的挑战。然而,在这个变革的时代,共享门店模式,也被称为“共享股东”,正以其独特的魅力,为实体店带来新的生机。 一、共享门店模式的崭新定义 共享门店…

​水经微图Web版1.8.0发布

让每一个人都有自己的地图! 水经微图(简称“微图”)新版已上线,在该版本中主要新增了注册登录功能,线与面图层新增矩形、圆或军标等绘制功能,以及其它功能的优化。 现在,为你分享一下本轮迭代…

SELinux:安全增强型Linux

SELinux:安全增强型Linux 作用: 可以保护linux系统的安全为用户分配最小的权限 状态: Enforcing:强制保护Permissive:宽松状态Disabled:禁用 为了安全性考虑,希望SELinux设置为Enforcing状态…

PostgreSQL调优工具:PGTune

PostgreSQL调优工具:PGTune 1,PGTune网址 https://pgtune.leopard.in.ua/#/ 参数解释: DB Version:数据库版本 OS Type:操作系统 DB Type:数据库类型,一般默认即可 Total Memory (RAM)&#x…

巨详细Linux安装MySQL

巨详细Linux安装MySQL 1、查看是否有自带数据库或残留数据库信息1.1检查残留mysql1.2检查并删除残留mysql依赖1.3检查是否自带mariadb库 2、下载所需MySQL版本,上传至系统指定位置2.1创建目录2.2下载MySQL压缩包 3、安装MySQL3.1创建目录3.2解压mysql压缩包3.3安装解…

2 - 力扣高频 SQL 50 题(基础版)

2.寻找用户推荐人 考点: sql里面的不等于,不包含null -- null 用数字判断筛选不出来 select name from Customer where referee_id !2 OR referee_id IS NULL;

UML行为图-状态图

概述 创建 UML 状态图的目的是研究类、角色、子系统或组件的实时行为。状态图不仅可用于描述用户接口、设备控制器和其他具有反馈的子系统,还可用于描述在生命期中跨越多个不同性质阶段的被动对象的行为,在每一阶段该对象都有自己特殊的行为。 一、状态…

2024最全软件测试面试八股文(答案+文档+视频讲解)

Part1 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自…

探索Python爬虫:实战演练,打造你的数据采集利器

在这个信息爆炸的时代,数据成为了最宝贵的资源之一。Python,以其简洁的语法和强大的库支持,成为了数据采集和处理的首选语言。本文将带领你走进Python爬虫的世界,通过一系列实战演练,教你如何构建自己的数据采集工具。…

Python-3.12.0文档解读-内置函数zip()详细说明+记忆策略+常用场景+巧妙用法+综合技巧

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 详细说明 基本用法 示例 特性 高级用法 注意事项 版本更新 示例代码 记忆策略…

UI的学习(一)

UI的学习(一) 文章目录 UI的学习(一)UIlabelUIButtonUIButton的两种形式UIButton的事件触发 UIView多个视图之间的关系 UIWindowUIViewController一个视图推出另一个视图 定时器和视图移动UISwitchUISlider和UIProgressSlid步进器与分栏控制器UITextFieldUIScrollView有关实现它…

个人笔记-随意记录

常见问题? 1.linux重启服务 端口被占用如何解决? 查看某个端口被占用的进程 netstat -tulnp | grep :23454 强制杀死进程 kill -9 1776 重启服务即可

ant design form表单动态增减表单项Form.List选中Select值后更新相关联Select选项

ant design form表单动态增减表单项Form.List选中Select值后更新相关联Select选项。代码中地市联动获取区县数据&#xff1a; <Form name"dynamic_form_nest_item" onFinish{onFinish} autoComplete"off" form{form} initialValues{{ list: [{}] }} &…