IO流-字符流

字节流:适合复制文件等,不适合读写文本文件

字符流:适合读写文本文件内容

FileReader:文件字符输入流

*作用:是以内存为基准,可以把文件中的数据以字符的形式读取到内存中去

构造器说明
public FileReader(File file)创建字符输入流管道与源文件接通
public FileReader(String pathname)  创建字符输入流管道与源文件接通
方法名称说明
public int read() 每次读取一个字符返回,如果发现没有数据可读会返回-1. 
public int read(char[]buffer) 每次用一个字符数组去读取数据,返回字符数组读取了多少个字符,如果发现没有数据可读会返回-1.
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Reader;public class FileReader1 {public static void main(String[] args) {//1、创建一个文件字符输入流,每次读取一个字符try ( Reader rd= new FileReader("D:\\code\\weilai1\\src\\itheima1.txt");){//读取文本文件中的内容了// int c;//记住每次读取的字符编号// while((c= rd.read())!=-1){//    System.out.print((char) c);// }//每次读取一个字符的形式,性能比较差//每次读取多个字符,性能比较好char []chars=new char[3];int len;while((len= rd.read(chars))!=-1){String str=new String(chars);System.out.print(str);}} catch (Exception e) {e.printStackTrace();}}
}

Filewriter(文件字符输出流) 
作用:以内存为基准,把内存中的数据以字符的形式写出到文件中去。

构造器说明
public FileWriter(File file) 创建字节输出流管道与源文件对象接通
public FileWriter(String filepath) 创建字节输出流管道与源文件路径接通
public Filewriter(File file,boolean append) 创建字节输出流管道与源文件对象接通,可追加数据
public Filewriter(String filepath,boolean append) 创建字节输出流管道与源文件路径接通,可追加数据
方法名称说明
void write(int c) 写一个字符
void write(String str) 写一个字符串
void write(String str, int off, int len) 写一个字符串的一部分
void write(char[ ]cbuf) 写入一个字符数组
void write(char[ ] cbuf, int off, int len) 写入字符数组的一部分
import java.io.FileWriter;
import java.io.IOException;public class FileWriter1 {public static void main(String[] args) {//覆盖管道try ( FileWriter fw=new FileWriter("D:\\code\\weilai1\\src\\itheima1.txt",true);){// void write(int c)fw.write('b');fw.write('类');fw.write(97);fw.write("\r\n");//换行//void write(String str)fw.write("你好,中国");fw.write("\r\n");// void write(String str, int off, int len)fw.write("你好,中国",0,2);fw.write("\r\n");// void write(char[ ]cbuf)char[]chars={'e','我','艾','9','a'};fw.write(chars);fw.write("\r\n");// void write(char[ ] cbuf, int off ,int len)fw.write(chars,0,3);fw.write("\r\n");} catch (IOException e) {e.printStackTrace();}}
}

字符输出流使用时的注意事项

字符输出流输出数据后,必须刷新流或者关闭流,写出的数据才能生效。

fw.flush;刷新流,刷新之后,流还可以继续使用

fw.close;关闭流,包含了刷新流

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

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

相关文章

IDEA上文件换行符、分隔符(Line Separator)LF,CR,CRLF错乱影响Git上传Github或Gitee代码

IDEA上文件换行符、分隔符(Line Separator)LF,CR,CRLF错乱影响Git上传Github或Gitee代码 指定目录 然后就可以上传了 OK 一定注意更改Line Separator的文件目录 如果是target目录下的文件,是不能修改为LF的,把target文件删除,再重载一次main文件,就…

FFmpeg学习记录(二)—— ffmpeg多媒体文件处理

1.日志系统 常用的日志级别&#xff1a; AV_LOG_ERRORAV_LOG_WARNINGAV_LOG_INFOAV_LOG_DEBUG #include <stdio.h> #include <libavutil/log.h>int main(int argc, char *argv[]) {av_log_set_level(AV_LOG_DEBUG);av_log(NULL, AV_LOG_DEBUG, "hello worl…

【软考高项】三十一、成本管理4个过程

一、规划成本管理 1、定义、作用 定义&#xff1a;确定如何估算、预算、管理、监督和控制项目成本的过程作用&#xff1a;在整个项目期间为如何管理项目成本提供指南和方向 应该在项目规划阶段的早期就对成本管理工作进行规划&#xff0c;建立各成本管理过程的基本框架&…

RKNN Toolkit2 工具的使用

RKNN Toolkit2 是由瑞芯微电子 (Rockchip) 开发的一套用于深度学习模型优化和推理的工具。它主要面向在瑞芯微SoC上进行AI应用开发&#xff0c;但也可以用于PC平台进行模型的转换、量化、推理等操作。它支持将多种深度学习框架的模型&#xff08;如Caffe, TensorFlow, PyTorch等…

LSTM时间序列预测预测值相对比真实值趋势滞后的问题讨论收集

时间序列预测任务&#xff0c;预测值相对比真实值趋势滞后问题_数据预测并对比-CSDN博客 时间序列预测中预测数据相较于真实数据滞后的问题该如何解决&#xff1f; - 知乎 (zhihu.com) LSTM从理论基础到代码实战 5 关于lstm预测滞后性的讨论_哔哩哔哩_bilibili 我在用LSTM时…

单例、工厂、策略、装饰器设计模式

1. 单例模式&#xff08;Singleton Pattern&#xff09;&#xff1a; 单例模式是一种常用的设计模式&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供一个全局访问点。这种模式的特点是类自己负责保存其唯一的实例&#xff0c;并控制其实例化过程。单例模式广泛应用…

【hackmyvm】vivifytech靶机

渗透思路 信息收集端口扫描端口服务信息目录扫描爆破hydra--sshgit提权 信息收集 ┌──(kali㉿kali)-[~] └─$ fping -ag 192.168.9.0/24 2>/dev/null 192.168.9.119 --主机 192.168.9.164 --靶机个人习惯&#xff0c;也方便后续操作&#xff0c;将IP地址赋值给一个变…

【R语言数据分析】卡方检验

目录 交叉卡方检验 配对卡方检验 趋势卡方检验 交叉卡方检验 交叉卡方表用于比较组间“率”的差异。适用于分类型变量&#xff0c;被检验的分类变量应该是无序分类变量&#xff0c;分组变量可以是有序分组也可以是无序分组。比如比较两种药物治疗某个疾病的效率&#xff0c;…

Jhipster8禁用liquibase

开发环境添加dev,no-liquibase&#xff1b;

Stable Diffusion AI绘画

我们今天来了解一下最近很火的SD模型 ✨在人工智能领域&#xff0c;生成模型一直是研究的热点之一。随着深度学习技术的飞速发展&#xff0c;一种名为Stable Diffusion的新型生成模型引起了广泛关注。Stable Diffusion是一种基于概率的生成模型&#xff0c;它可以学习数据的潜…

INVS 对时钟二分频器(reg-clkgen)的理解和处理

在时钟树的设计中&#xff0c;有很多方式处理分频时钟&#xff0c;常见的无外乎两种模式&#xff1a; 时钟二分频器&#xff08;reg-clkgen&#xff09;门控时钟 二者在功能上略有不同&#xff0c;比较的大差异是前者可以简单的实现50%占空比&#xff0c;后者却对功耗友好同时…

Maven Could not transfer artifact org.apache.maven.plugins(刚刚创建的项目添加maven依赖报错)

Could not transfer artifact org.apache.maven.plugins解决办法&#xff0c;使用idea工具的过程中&#xff0c;自动导入了idea自己的maven&#xff0c;导致报错&#xff0c;在该项目下重新配置Maven的路径&#xff0c;setting&#xff0c;repo的位置 参考&#xff1a;https://…

Git添加空文件夹

参考文章&#xff1a;https://blog.csdn.net/weixin_41287260/article/details/118057704 https://www.cnblogs.com/adam-ma/p/17982349 为空文件夹添加 .gitkeep 文件(推荐) 这个文件它本身是没有意义的&#xff0c;git好像也没有赋予它特殊使命&#xff0c;更像是团队使用者之…

Python基础学习之sys模块

在Python编程中&#xff0c;sys模块是一个非常重要的内置模块&#xff0c;它提供了与Python解释器及其环境&#xff08;如命令行参数、标准输入输出流等&#xff09;进行交互的接口。今天&#xff0c;我们就来详细探讨一下sys模块的常见用法和功能。 导入sys模块 首先&#x…

【QEMU系统分析之实例篇(十三)】

系列文章目录 第十三章 QEMU系统仿真的机器创建分析实例 文章目录 系列文章目录第十三章 QEMU系统仿真的机器创建分析实例 前言一、QEMU是什么&#xff1f;二、QEMU系统仿真的机器创建分析实例1.系统仿真的命令行参数2.完成早期后端驱动的设置工作qemu_create_early_backends(…

找不到msvcp120D.dll无法继续执行代码的7个有效解决方法分享

在探讨msvcp120D.dll之前&#xff0c;首先需要明确的是&#xff0c;这个特定的动态链接库&#xff08;DLL&#xff09;文件属于Microsoft Visual C 2013的调试版本&#xff08;标记为"D"&#xff0c;代表Debug&#xff09;。这意味着它主要用于开发环境中的调试目的&…

【Linux】进程的隔离和控制:namespace 隔离、cgroup 控制

文章目录 五、namespace 隔离dd -- 读取、转换并输出数据mkfs -- 格式化文件系统df -- 显示文件系统磁盘使用情况mount -- 加载文件系统到指定的加载点unshare -- 创建子进程&#xff0c;同时与父程序不共享namespace一个 demo 六、cgroup(Control Group) 相关命令pidstat -- 监…

腾讯云IM即时通信引入(React Web端组件式)

开发环境要求 React ≥ v18.0 &#xff08;17.x 版本不支持&#xff09; TypeScript node&#xff08;12.13.0 ≤ node 版本 ≤ 17.0.0, 推荐使用 Node.js 官方 LTS 版本 16.17.0&#xff09; npm&#xff08;版本请与 node 版本匹配&#xff09; chat-uikit-react 集成 …

Iterable和Iterator,你学会了吗?

在 Java 编程中&#xff0c;Iterable 和 Iterator 是用于实现集合类&#xff08;如列表、集合、映射等&#xff09;迭代访问的重要接口。 它们提供了一种统一的方式来遍历集合中的元素&#xff0c;并在不同的集合类型之间提供了一致的迭代访问方式。 本文将深入探讨 Iterable…

链表(基于C语言单向链表)

链表的实现的思想 链表表示一种是基于链接结构的线性表&#xff0c;链表实现的思想如下&#xff1a; 1、将表中的元素分别储存在一批独立的储存块里面。 2、表结构中的结点都能找到与之相关的下一个结点。 3、在前一个结点里用链表的方式显示的记录与下个结点之间的关联。 链…